Цитата:
|
let, как по мне - вообще бред, я даже представить не могу такую конструкцию которя одновременно будет и не говнокодом и там будет нужен let.
|
Как по мне функциональная область видимости - это изначальный феил и поэтому let для меня оч важная штука, которую я юзаю просто повсеместно. Например в Snakeskin тоже блочная область видимости у переменных.
- template foo()
- for var i = 0; i < 10; i++
? console.log(i) // 0, 1, 2 ...
? console.log(i) /// Error, i is not defined
Вообще я для себя сделал такое правило: var для глобальных переменных и локальных переменных функций высшего уровня.
Цитата:
|
я даже представить не могу такую конструкцию которя одновременно будет и не говнокодом и там будет нужен let.
|
for (let i = 0; i < 10; i++) {
...
}
for (let i = 0; i < 10; i++) {
let someVal; // использование с var в данном примере приведёт к ошибке
// придётся писаться var someVal = void 0;
if (...) {
someVal = true;
}
if (someVal ) {
...
}
}
и т.д.
Сообщение от Safort
|
kobezzza,
Да что же это такое?! Ещё один транслятор, который поддерживает многие крутые плюхи из ES6, но не может let! Как так вообще? Значит, классы они осилили, а какой-то let - нет?
|
Слоупоки, но тебе никто не мешает:
1) Таки завести es6transpiler ||
2) Прикрутить
https://github.com/olov/defs к своему транслятору.
Цитата:
|
А в js нет блочной области видимиости, как тут let сделаешь?
|
Молча
Цитата:
|
Инициализация функии дело очень затртаное, вангую что не рационально делать такие хаки, вот и не сделали.
|
Никто так не делает, а юзают статический анализ и добавление префиксов.
Цитата:
|
Да, будет лишняя переменная и грязный код. Но он итак грязный.
|
Код, который не предназначен для ручного редактирования человеком (а результат работы транслятора именно такой код) может быть любым, лишь бы он не бажил и не тормозил
