TypeError: получение частного свойства, доступного только для установки
Исключение JavaScript "getting private setter-only property" возникает при чтении значения частного элемента, для которого определён только сеттер.
Сообщение
TypeError: '#x' was defined without a getter (V8-based) TypeError: getting private setter-only property (Firefox) TypeError: Trying to access an undefined private getter (Safari)
Тип ошибки
Что пошло не так?
Происходит попытка получить значение частного элемента, для которого указан только сеттер. В отличие от обычных объектов, где неопределённый геттер просто означает, что свойство всегда будет возвращать undefined, для частных элементов это ошибка.
Примеры
Частный элемент без геттера
Здесь у #name нет геттера, поэтому попытка прочитать его с помощью this.#name вызовет ошибку.
class Person {
set #name(value) {}
get name() {
return this.#name;
}
}
const person = new Person();
console.log(person.name);
Для частного элемента нетипично иметь сеттер без геттера. Либо добавьте геттер, либо реорганизуйте вашу программу так, чтобы сеттер также можно было удалить.
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Private_setter_only