5
¿Cómo implementa jQuery su objeto diferido para que el operador new
sea opcional como en var x = $.Deferred();
?jQuery.Deferred() - "new" operator is optional?
¿Cómo implementa jQuery su objeto diferido para que el operador new
sea opcional como en var x = $.Deferred();
?jQuery.Deferred() - "new" operator is optional?
Aquí es un patrón para lograr ese ...
$.Deferred = function() {
if (! (this instanceof $.Deferred)) {
return new $.Deferred;
}
}
Funciona porque this
en un constructor se establece en el nuevo objeto. instanceof
le dirá si el operando LHS tiene el operando RHS en su cadena de prototipos. Si esta condición no es verdadera, la función devolverá una versión instanciada del objeto.
¡Gran explicación, gracias! – Kay