Если у меня есть класс javascript, который не может быть создан, что должен вернуть конструктор, который я могу проверить.Конструктор всегда возвращает объект, поэтому я не могу вернуть ноль, если конструктор завершился неудачей.
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
}
, но, похоже, должен быть лучший способ.