Comments 28
А сейчас ES6 уже поддерживается где-нибудь?
Лучше всего в Firefox, не хватает лишь некоторых деталей (Reflect например).
kangax.github.io/compat-table/es6 — подробнее.
А зачем ждать пока будут поддерживать?
babeljs.io
babeljs.io
Насколько удобно использовать babel для node (отладка допустим, как там с сорсмапами)? Для браузера понятно как.
Это легко гуглится, меня интересовал личный опыт, удобство, потому что вижу что существуют баги вроде этого github.com/babel/babel/issues/983
А можно начать изучать ES6, не изучая JS до этого?
На тему изучения ES6 — есть неплохой интерактивный курс:
tagtree.io/courses/expert-es6
12 последовательных уроков с примерами и практическими заданиями в конце каждого урока. На английском.
tagtree.io/courses/expert-es6
12 последовательных уроков с примерами и практическими заданиями в конце каждого урока. На английском.
Какое-то оно тривиальное и скучное.
Согласен, что простовато. Скорее, знакомство с синтаксисом, нежели практический экскурс.
Оставлю еще одну ссылочку на github Addy Osmani:
github.com/addyosmani/es6-equivalents-in-es5
Куски кода на es6 и их эквиваленты на es5 — быть может, будет поинтереснее.
Оставлю еще одну ссылочку на github Addy Osmani:
github.com/addyosmani/es6-equivalents-in-es5
Куски кода на es6 и их эквиваленты на es5 — быть может, будет поинтереснее.
Чёт как-то они и сами не знают JS. Просто шикарный пример архаизма:
И по-этому они предлагают использовать не менее жуткий, забывая всё о чём говорилось в предыдущих уроках:
Что нужно было (если я правильно понял суть):
for(var i = 0; i < owners.length; i++){
var name = owners[i];
console.log('Owner ' + name);
}
И по-этому они предлагают использовать не менее жуткий, забывая всё о чём говорилось в предыдущих уроках:
for(let i = 0; i < owners.length; i++){
let name = owners[i];
console.log('Owner ' + name);
}
Что нужно было (если я правильно понял суть):
owners.forEach((name) => {
console.log(`Owner ${name}`);
});
Или даже так:
owners.forEach((name) => console.log(`Owner ${name}`));
Чем не нравится вариант с let? Да и с вар. Анонимные функции имеют свои проблемы
Использованием цикла for, присвоением двух лишней переменных, лишняя грязь.
> Анонимные функции имеют свои проблемы
Да нельзя выйти из цикла, но если нужно выйти можно всегда вместо for / forEach использовать filter / map и тд, что мне кажется более изысканным решением, чем нежели останавливать цикл.
> Анонимные функции имеют свои проблемы
Да нельзя выйти из цикла, но если нужно выйти можно всегда вместо for / forEach использовать filter / map и тд, что мне кажется более изысканным решением, чем нежели останавливать цикл.
А еще forEach в разы медленнее старого доброго for, добавляет накладные расходы на обращение к родительскому скоупу и куча разных мелочей. Собственно как и map, reduce и т.д. Так что не всегда они хороши (хотя скоро будут, тикеты соответствующие есть, ими занимаются...). Если вы работаете с большими объемами данных (например canvas) то forEach вам явно не понравится использовать. Даже реализация forEach на for быстрее forEach…
А еще проблемы с отладкой: проблемы с бряками, стеком, скоупом
Про производительность вам уже сказали и это ПРАВДА серьезная проблема даже без попиксельной работы.
Тем более в ес5 еще и контекст теряется без дополнительных действий.
Про производительность вам уже сказали и это ПРАВДА серьезная проблема даже без попиксельной работы.
Тем более в ес5 еще и контекст теряется без дополнительных действий.
Ни одной из проблем ещё не испытывал, а вот, как написал выше, провёл тесты и да, производительность процентов на 90 проседает. Если что, я ни в коем случае не перечу вам, и в целом согласен со всеми аргументами.
ECMAScript 6 переименовали в ECMAScript 2015
И кроме этого уже есть Final Draft, который уже врятли изменится — ES2015 specifications drafts
Sign up to leave a comment.
ES6 в деталях: введение