2015-09-07 2 views
0

Пожалуйста, помогите понять, почему строка obj['prop'] = 'zzz'; не работает и даже показывает ошибку, когда "use strict"; включен и работает нормально, когда используется Object.defineProperty(obj, 'prop', {value:'zzz'});? (В то время как delete работает абсолютно нормально)Определить свойства с помощью Object.defineProperties

 //"use strict"; 

     var obj = Object.defineProperties({}, { 
      prop: { 
       value: 'aaa', 
       writeable: true, 
       enumerable: true, 
       configurable: true 
      } 
     }); 

     console.log(obj.prop); 
     obj['prop'] = 'zzz'; 
     //Object.defineProperty(obj, 'prop', {value:'zzz'}); 
     console.log(obj.prop); 
     //delete obj.prop; 
     //console.log(obj.prop); 

ответ

Смежные вопросы