Неправильное поведение в Google Chrome Object.defineProperty?
Я пытаюсь создать объект с помощью сеттеров и геттеров, и это мой код:
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 = new 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