kobezzza,
ну ты ведь и сам понимаешь, что флаги это почти тоже самое что и отсутствие поддержки) Ведь у обычного пользователя они выключены. |
Цитата:
Одно дело, когда фича что-то ломает, но тут просто добавили новые типы данных, которых не было в ES5 и шансов что-то сломать просто нет. Ну если их так заботит не стабильность фичи, то добавили бы префикс: blinkMap какойнить. |
kobezzza,
или как вариант вообще их не выкатывать, если считают их не стабильными. |
Это уже работает! (в Chrome 40 dev)
NodeList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];
for (var x of document.querySelectorAll('p')) {
console.log(x);
}
https://twitter.com/mathias/status/521953589175283712 |
Octane, поясни пожалуйста, что за вызод демона происходит в коде :)
|
В NodeList.prototype добавляется итератор, который можно использовать в for-of
[][Symbol.iterator] === [].values //true просто добавить метод values в NodeList.prototype не получится, потому что в for-of используется именно iterator, как я понимаю используется ключ типа Symbol для того, чтобы не конфликтовать с обычными свойствами (раньше было свойство @@iterator) Стандартный ключ Symbol.iterator используется для именования всех итераторов: Array.prototype[Symbol.iterator] Map.prototype[Symbol.iterator] и т.д. тоесть это заранее подготовленный Symbol.iterator = Symbol();с помощью которого в прототипы добавили итераторы Внутри метода iterator что-то типа такого:
Array.prototype.myIterator = function () {
return function * (array) {
var index = 0;
while (index < array.length) {
yield array[index++];
}
}(this);
};
var array = [1, , 3],
values = array.myIterator(),
value;
for (value of values) {
alert(value);
}
|
Немного о будущем ES6/7
http://www.infoworld.com/article/283...al-intent.html |
Цитата:
function({param: param, param1: param1, param2: param2}) {
}
Вообще ES6 очень ёмко описан здесь - https://github.com/lukehoban/es6features |
Цитата:
|
Это тип данных, который уникален и никогда ничему (кроме себя) не равен. Как и объекты, но для использования в ключах.
|
| Часовой пояс GMT +3, время: 00:20. |