Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Интересные ссылки и их обсуждение (https://javascript.ru/forum/offtopic/45898-interesnye-ssylki-i-ikh-obsuzhdenie.html)

kobezzza 10.10.2014 14:33

Цитата:

На 2 цикла можно и var написать, а 10 циклов в одной функции не круто (пока не столкнулся с потребностью)
for (let i = 0; i < 10; i++) {
    var someVal; 

    if (...) {
        someVal = true;
    }

    if (someVal ) {
        ...
    }
}


Неужели ты не видишь ошибки в этом коде? С let someVal на каждой итерации инициализируется занова с undef, а с var нет и нужно делать это явно, а это легко забыть и получаем сложно отлаживаемую багу.

Цитата:

Парсеры писал, плясок с графами / векторами нет. (хотя если под вектором ты имеешь ввиду array то писал).
Там же обычно вложенности, если не вложенность то это уже отдельная операция и ее можно вынести в другую функцию.
Очень удобно использовать сложенные циклы и прыжки по меткам, а из итераторов мне известен только одна либа которая умеет делать похожие вещи - Collection.

kobezzza 10.10.2014 14:38

Цитата:

но функция это тоже, по сути, блок.. let костыль, получается так, но мне он не очень нужен.
Тоже, да не тоже :) Не упрямся и послушай более опытных коллег по цеху: let - это добро ;)

l-liava-l 10.10.2014 14:59

kobezzza,
Лааадна)))) Я возьму на заметку, но стоит проверить)

Gozar 10.10.2014 15:03

Цитата:

Сообщение от kobezzza
с var нет и нужно делать это явно, а это легко забыть и получаем сложно отлаживаемую багу.

А можно и не делать, тогда невозможно забыть :)

Флаги true or false никаких undefined. Разве не лучше думать так? Делать var внутри цикла - зло, разве нет? Считаю что более наглядно сразу присваивать переменной значение внутри цикла, по крайней мере сразу виден тип переменной.

kobezzza 10.10.2014 15:06

Цитата:

Флаги true or false никаких undefined.
Мне приходилось так делать, пока я не стал юзать ES6 и сейчас мне вполне комфортно.

Цитата:

Делать var внутри цикла - зло, разве нет?
А что тебя смущает? Я не вижу ни одной причины так не делать.

Gozar 10.10.2014 15:10

Цитата:

Сообщение от kobezzza
А что тебя смущает?

Меня смущает, что переменная объявляется внутри for, в ES6 понятно, но в ES5 то она будет жива после цикла и ее наличие меня беспокоит, если в начале её не описано. Призрак же.

kobezzza 10.10.2014 15:15

Цитата:

Сообщение от Gozar (Сообщение 334649)
Меня смущает, что переменная объявляется внутри for, в ES6 понятно, но в ES5 то она будет жива после цикла и ее наличие меня беспокоит, если в начале её не описано. Призрак же.

Ну, ещё один плюс в сторону let:) Хотя с точки зрения VM по барабану, т.к. сборка мусора не осуществится сразу в любом случае.

kobezzza 10.10.2014 16:37

Microsoft поменял интерфейс Skype: чат теперь совсем другой

Octane 10.10.2014 18:29

Пользователи Mac OS чемпионы по попаданию мышкой в маленькие значки
зона клика для смены статуса в лучших традициях :D

melky 10.10.2014 21:23

Octane, минимализм :)


Часовой пояс GMT +3, время: 07:51.