Убедитесь, что объект options
имеет свойство reqd
с hasOwnProperty
, а если нет, выведите ошибку:
class Foo {
constructor(options) {
// super(options);
if (!options.hasOwnProperty('reqd')) {
throw new Error('reqd property is required');
}
this.reqd = options.reqd;
// if you don't want to assign `undefined` for a non-existent optional property,
// use a hasOwnProperty check before assigning
this.optional = options.optional;
}
}
const f1 = new Foo({ reqd: 'val' });
console.log('next');
const f2 = new Foo({ optional: 'val' });
Если вы хотите, чтобы сгенерировалась ошибка, вы должны явно throw
это сделать, иначе ошибки не будет (или, по крайней мере, до тех пор, пока позже),Просто возвращение строки не является ошибочным.