Показать сообщение отдельно
  #1 (permalink)  
Старый 23.01.2017, 23:51
Интересующийся
Отправить личное сообщение для Маленький программист :"3 Посмотреть профиль Найти все сообщения от Маленький программист :"3
 
Регистрация: 26.12.2016
Сообщений: 20

Set работает некорректно
Всем привет, возникла такая непонятка, почему в данной ситуации set не присваивает новые значения?
var user = {};
Object.defineProperties(user, {
  name: {
    value: "Вася"
  },
surname: {
    value: "Иванов"
  },
  fullName: {
    get: function(){
      return this.name + " " + this.surname;
    },
    set: function(value){
      var split = value.split(" ");
      this.name = split[0];
      this.surname = split[1];
    }
  }
});
user.fullName = "Миша Петров";
document.write(user.fullName);

-----
Эти строки выполняются, но значение остается прежним
this.name = split[0];
this.surname = split[1];
Ответить с цитированием