Vi la presentación de Best Practices in JavaScript Library Design de John Resig; una diapositiva sugería "ajustar" el constructor del objeto para que se creara una instancia.¿Es bueno o malo envolverse en el constructor?
function jQuery(str, con) {
if (window === this) {
return new jQuery(str, con);
}
// ...
}
Con eso, se convierte en new jQuery("#foo")
jQuery("#foo")
.
Pensé que era bastante interesante, pero no he escrito un constructor como ese en mi propio código.
Un poco más tarde, leí una publicación aquí en SO. (Perdón, no recuerdo cuál o yo proporcionaría un enlace. Actualizaré la pregunta si puedo encontrarla de nuevo.) Uno de los comentarios decía que era una mala práctica esconder new
del programador de esa manera, pero no lo hice. entrar en detalles
Mi pregunta es, ¿se considera que lo anterior es bueno, malo o indiferente, y por qué?