Если я не разрешить записи в свойство объекта является его достаточно определить только поглотитель, как это:Как запретить изменение свойств объекта с геттером
Object.defineProperty(fileNavigator, "isRoot", {
get: function() {
return this.currentPath.length === 0;
}.bind(this)
});
var r = fileNavigator.isRoot;
// работает OK
fileNavigator.isRoot = 4;
// бросает
TypeError: Cannot set property isRoot of #<Object> which has only a getter
который, как ожидается. Мне интересно, так ли это должно быть сделано?
Да, если вы хотите свойство, отличное от записи, ожидается, что распределение присваивается - и так оно и делается, да. – Bergi
@Shadow: это не имеет ничего общего с ES6 –