Правильно ли я понимаю этот SPE c в функциях получения? - PullRequest
1 голос
/ 04 августа 2020

В MDN выполните c на получателе Я вижу:

Он не должен появляться в литерале объекта с другим get или с записью данных для того же свойства ( { get x() { }, get x() { } } и { x: ..., get x() { } } запрещены).

Я интерпретировал это как означающее, что в объекте не может быть более одного метода получения, но это не кажется проблемой.

o1 = {

get fun1() {console.log(5)},
get fun2() {console.log(6)},

};

o1.fun1;
o1.fun2;

Правильно ли я понял?

1 Ответ

4 голосов
/ 04 августа 2020

В статье MDN говорится, что у вас не может быть метода получения и обычного свойства с тем же именем для объекта, например:

const obj = {
    x: 1,
    //Getter overwrites the data property, as it appears later
    get x() {console.log('Getter invoked')}
}

console.log(obj.x); //undefined, data property was overwritten

запрещено. Совершенно нормально иметь два геттера для разных методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...