Показать сообщение отдельно
  #4 (permalink)  
Старый 30.10.2017, 00:11
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

А где вы видите в этой статье, что в Object.defineProperty можно указывать именованные get/set ?? У вас эти ф-ии просто не вызываются, а идёт обычное присвоение/получение свойства Msg у объекта - отсюда и результат.
Вам надо так:
let obj = {
    prop: "no msg",
    set Msg(msg){
        this.prop = msg;
    },
    get Msg(){
        return this.prop;
    }
};
console.log( obj );
console.log( obj.Msg );
obj.Msg = "myMsgText";
console.log( obj.Msg );

Последний раз редактировалось Белый шум, 30.10.2017 в 00:28.
Ответить с цитированием