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