мда... пока я формулировал сообщение, trikadin и kobezzza уже успели меня опередить =)
|
Цитата:
Правда я не понимаю, почему они не заюзали Символы для этой задачи, например,
let foo = {
[Symbol.prototype]: {
bar: 1
},
get() {
return this.bar;
}
}
Ведь символы для того и были созданы и они уже юзаются для таких задач, например, Symbol.iterator |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Object.defineProperty(Object.prototype, '__proto__', {
set: function(value) {
Object.setPrototypeOf(this, value);
},
get: function() {
return Object.getPrototypeOf(this);
}
});
или скорее:
Object.setPrototypeOf = function(obj, value) {
obj.__proto__ = value;
};
Object.getPrototypeOf = function(obj) {
return obj.__proto__;
};
Я почему-то склоняюсь больше ко второму варианту, так как первый был реализован до второго. А насчет их осторожности, тут скорее просто хотят себя огородить от лишних проблем в будущем (вдруг захотят все же убрать свойство). |
Цитата:
|
Цитата:
Цитата:
__proto__ входит туда же, под индексом "B.2.2.1" - http://www.ecma-international.org/ec...type.__proto__ То есть, юзать, конечно же, можно, но, во-первых, отличные от браузеров окружения не обязаны его поддерживать, а во-вторых, это прямо не рекомендуется в спецификации (а значит, в один прекрасный момент может быть запрещено в каком-нибудь 2016 strict mode). |
Где можно посмотреть список фич ES7, поддерживаемых в Babel, желательно, с небольшими примерами?
|
| Часовой пояс GMT +3, время: 02:43. |