Nikulio
@Nikulio
NaN !== NaN

Почему получаю ошибку Maximum call stack size exceeded?

var person = {
    name: "Nikita",
    age : 18,
    gender : "male"
}


Object.defineProperty(person, 'age', {
    get : function  () {
        return this.age;
    },
    set : function  (nage) {
        return this.age = nage;
    }
});

console.log(person.age)
person.age = 19;
console.log(person.age)


Вот код
Делаю,как в книге,но выдает ошибку
  • Вопрос задан
  • 5499 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
У вас тут идет рекурсивный вызов геттера и сеттера (вы из геттера age вызываете геттер age). Что бы понять что значит эта ошибка - читаем как работают рекурсии и что такое "стэк вызовов".
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@OneFive
React.js <3
Установка this.age вызывает сеттер this.age в котором устанавливается this.age который вызывает сеттер this.age и ^.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы