Как отловить ошибку, когда частное поле должно быть объявлено во включающем классе?
У меня есть этот пример кода:
class Person {
#name = "Jack";
static hasTitle(obj) {
try {
console.log(obj.#age);
} catch (error) {
console.log(Object.keys(error));
}
return #name in obj;
}
}
const p = new Person();
console.log(Person.hasTitle(p));
И я хочу поймать ошибку, возникающую из-за того, что возраст не определен для объекта Person. Что происходит сейчас, так это то, что блок catch никогда не достигается, несмотря на обертывание ошибочной строки блоком try/catch. Так в чем же проблема?
Я прекрасно осведомлен об операторе in , если вам интересно.