Ошибка срабатывания Геттера в дескрипторе
Ранее я уже задавал подобный вопрос, но его закрыли. Мне завуалированно сказали, что ты дурачек и вопрос мы твой закроем. Как я понял, проблема была в отсутствии свойства куда можно было записать данные из Сеттера. Я добавил это самое свойство, но проблема никуда не ушла, геттер не хочет работать, то есть выводить сообщение Domik, 28 и значение из Сеттера
let obj = {}; // Пустой объект
Object.defineProperties(obj,{
name:{value:'Domik', writable:true,}, // Первое свойство
age:{value: 28, writable:true, }, // Второе свойство
setName:{value: '', writable:true, }, // Третье свойство
getterAndSetter:{ // Четвертое свойство
set(setValue){ // Сеттер, полёт нормальный =)
this.setName = setValue; // Записать результат из prompt в третье свойство
},
get(){ // Геттер не хочет работать, почему?
alert(`
Текущее имя: ${this.name},
Возраст: ${this.age},
Ваше имя: ${this.setName}`); // Должно выводить Domik, 28 и значение из setName
},
enumerable:true,
configurable:true,
},
})
obj.getterAndSetter = prompt('Ваше имя?'); // Аргумент Сеттера setValue = prompt
Ответы (1 шт):
Автор решения: Alexey Ten
→ Ссылка
Примерно так работает геттер:
let obj = {}; // Пустой объект
Object.defineProperties(obj, {
name: { value: 'Domik', writable: true }, // Первое свойство
age: { value: 28, writable: true }, // Второе свойство
setName: { value: '', writable: true }, // Третье свойство
getterAndSetter: { // Четвертое свойство
set(setValue) { // Сеттер, полёт нормальный =)
this.setName = setValue; // Записать результат из prompt в третье свойство
},
get() { // Геттер не хочет работать, почему?
return `Текущее имя: ${this.name},
Возраст: ${this.age},
Ваше имя: ${this.setName}`; // Должно выводить Domik, 28 и значение из setName
},
enumerable: true,
configurable: true,
},
});
obj.getterAndSetter = 'Моё имя'; // Используем сеттер
alert(obj.getterAndSetter); // Используем геттер