Si tengo una clase de JavaScript que no se puede crear una instancia, ¿qué devolverá el constructor que pueda probar? El constructor siempre devuelve un objeto, por lo que no puedo devolver nulo si el constructor falla.¿Qué debería devolver un constructor de JavaScript si falla?
function SomeClass(id) {
if(typeof(id) === 'number' {
// This is good
this.id = id;
} else {
// This is bad
// This return is ignored and an empty object is returned
return null;
}
}
var a = new SomeClass('badParam');
if(a){
// is true even though the class expects a number.
}
// Could use this check
if(a.id !== undefined){
// Do some stuff
}
pero parece que debería haber una manera mejor.
Devolvería indefinido – Paul