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:11. |