Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Object.defineProperty (https://javascript.ru/forum/misc/61983-object-defineproperty.html)

DivMan 19.03.2016 09:08

Object.defineProperty
 
Почему не работает?

https://jsfiddle.net/jLdr97po/

writable: false означает, то, что нельзя менять значение у свойства, по этой логике значение не должно измениться, а в alert показаться старое.

Почему не работает второй alert? Он же вообще никак не связан с объектом?

Так тоже не работает

https://jsfiddle.net/jLdr97po/1/

destus 19.03.2016 09:51

в strict mode присвоение "user.name=" вызовет ошибку

DivMan 19.03.2016 10:08

Цитата:

Сообщение от destus (Сообщение 411404)
в strict mode присвоение "user.name=" вызовет ошибку

Почему не работает второй alert?

destus 19.03.2016 10:19

исключение
"use strict";
try{
    var user = {
        name: "Вася"
    };

    Object.defineProperty(user, "name", {
        writable: false
    })

    user.name = "gggg";
}
catch (e) {
    alert(user.name);
    alert("fff");
}

DivMan 20.03.2016 05:55

Я не понимаю этот код

set: function(value) {
      var split = value.split(' ');
      this.firstName = split[0];
      this.surname = split[1];
    }



Получается, то, что для переменной value присвоили значение массив?

Почему тогда для обычной переменной это сделать нельзя?

var value;
var aaa = value.split('')


Часовой пояс GMT +3, время: 04:31.