Я пытаюсь создать объект с сеттерами и геттерами, и это мой код:
var Player = function(height){
var _height = height;
Object.defineProperty(this, 'height', {
enumerable: false
, configurable: true
, writable: false
, get: function(){return _height;}
, set: function(val){_height = val;}
});
}
var myPlayer = новый Player (10);
Даже если для свойства writable
для параметров defineProperty установлено значение false, я получаю следующую ошибку:
Invalid property. A property cannot both have accessors and be writable or have a value, #<Object>
То же самое происходит, когда для параметра writable
установлено значение true, но ошибка исчезает, если я удаляю строку writable
.
Я что-то делаю неправильно, или это ошибка? Это происходит в Google Chrome, версия 30.0.1599.66