Товарищи, прошу прощения за не самое лучшее качество видео, звука и подачу информации =) Это был один из первых роликов, поэтому я еще не понимал как сделать хорошо и с правильной динамикой. Надеюсь новые видео вам понравятся больше!
Объясните пожалуйста. Я понял значение функции [].at(). НО Почему бы просто не сделали так чтобы можно было в индексах использовать отрицательные цифры?
То что Вы рассказываете, нередко является придуманной аналогией которая не имеет отношению к языку JS. И в этом не было бы ничего плохого, если бы Ваши аналогии работали для всего языка одинаково. А не тут работает а тут все иначе. 00:06:02 *Логическое И или логическое ИЛИ* Объяснение автора не только не соответствует спецификации, но еще и запутывает человека. Согласно спецификации конструкция подобной этой: const resultA = 40 && 2 || 33 будет обрабатываться согласно следующему алгоритму: весь код будет интерпретирован как assigment expression ( resultA = 40 && 2 || 33 ) то есть некоторое выражение которое нужно вычислить. Что мы пониманием интуитивно. Далее JS выделит выражение: 40 && ( NextExpression ) И применит к нему следующие шаги: 1. Пусть lval будет результатом вычисления выражения (40) согласно спецификации 40 - числовой литерал который вернет сам себя. то есть lval === 40 2. Пусть lBool будеь результатом выполнения - ToBolean( lval ) где: функция ToBolean возвращает либо true либо false в зависимости от того что в нее передали: 2.1 если передали true или false, то вернуть что передали. 2.2 если передали +0, -0, 0, NaN, null, undefined то вернуть false 2.3 все прочее - вернуть true. То есть ToBolean от числа 40: ToBoolean( 40) => True 3. Если Шаг 2 вернул False то прекратить вычисление и вернуть lval В противном случае вычислить NextExpression Та как Шаг 2 вернул True. То JavaScript идет дальше и теперь вычисляет выражение: 2 || ( Next Expression ) Что приведет к выполнению шагов: Шаг 1 и Шаг 2 идентичен тому что выше. 3. Если шаг 2 вернул true то завершить вычисления и вернуть lval Так как выражение (2) при его вычисление даст 2, а передача жтого результата в ToBoolean вернет true, то цепочка вычислений прирывается. А это означает что изначальный идентификатор resultA связывается со значением 2. Почему это правильно, а то что сказал автор видео - не правильно. Потому что для случая выражения const resultB = ( 4 * 2 ) && ( 3* 6) выражение 3*6 будет вычислено только в том случае, если ToBoolean от (4 * 2) вернет true. То есть дополнительная нагрузка на интерпретатор будет только тогда когда первая часть выражения вернет то, что позволяет оператору && принят решение о выполнении следующей части. То есть в случае const resultB = ( 4 * 0 ) && ( 3* 6) JavaScript никогда даже разбирать на части выражение, которое идет за && не начнет. То есть результат Logical AND Expression в JavaScript правильно описывать так: ( A ) && ( B ) && ( C ) && ( D ) .... && ( n ); преобразовывается в ( A ) && ( все что дальше) и если результат вычисления от ToBoolean ( A ) === true то продолжить вычислять все что идет правее. Если false вернуть результат вычисления.
Если программист не знал 1 функцию arr.reduce(, это не значит, что его нужно посылать, и то что он не подходит, так можно любого программиста послать, просто потому что он чего то не знает! Как вариант спрашивать его какую то редкую или не очевидную фичу js и посылать якобы по профнепригодности
Если ты про момент на 9:03 то поздравляю, ты прочитал мои мысли, я сразу про reduce подумал , хотя там сложного то ничего и нет, аккумулятор в виде 0, и каждой итерацией считаем сумму корзины и соответственно потом возвращаем аккумулятор, делов то
8:24 Невозможно знать всё. Да и не нужно, ты никогда не знаешь с чем будешь работать. Новые стандарты очень долго внедряются(прям иногда десятилетиями). Я так скажу, дофига проектов до сих пор на Node.JS младше 16, а уже 22("Это для примера) и там оох какой разный синтаксис.
Завалился на 0 && 2. Не сразу понял, а потом как понял! Это равносильно: false и 2 Второе значение не будет проверяться, так как первое вернуло false и проверка останавливается (как заметили другие в комментариях - в ролике оговорка) Нельзя сказать, что я не знал, но завалил проверку, так как не сообразил сразу.
Да на 7:00 ошибка в комментарии, "конечно же ноль, возвращается первое истиное", 0 && 2 должно вернуться не первое истиное, а последнее истиное или первое встретевшееся ложное, поскольку 0 логически считается ложное, он и возвращается.
Классное видео, благодаря ему я доработал код. Из объекта выделял переменные, каждую отдельно, а потом еще и удалял их из объекта через delete. 4 строчки кода сжал до одной: const { driver, car, ...contract } = currentContract Спасибо!
6:39 эти операторы не должны возвращать никаких чисел, двойные логические операторы работают на уровне 1 и 0 точнее должны работать, но яваскрипт это убогое поделие, поэтому там все через жопу
я помню, совсем недавно... был вопрос на интервью - посчитать корзину и вывести total всех цен... так вот, я сделал через reduce и был собой доволен, но!!!! мне сказали, что .reduce работает дольше for()... поэтому я плохо знаю оптимизацию js... ппц... Дорогой автор, мне интересно Ваше мнение!
Как по мне, reduce сложная функция, но for ещё хуже. В последней, наверное, гораздо меньше выразительности. Если в задачи было условие по поиску самого быстрого решения - значит сказали всё правильно. Если же нет, то замечание выглядит странным.
@@ra-dro нет, посто было посчитать итоговое. Сделал через редюс. Но сразу докалупались, что это долго... И так не пишут, а пишут через фор, т.к быстрее работает. Но не стояла задача сделать максимально быстро, а просто посчитать числа
Я чет тоже немного засомневался. Я конечно в ИТ не работал, не знаю, но на мой взгляд главное уметь делать то, чем ты будешь заниматься на работе. А если ты какие-то мелочи в этом не совсем понимаешь (ну мб для перехода к другим задачам нужны эти мелочи), то тебе сможет подсказать коллега. С другой стороны надо как-то отсеивать тех, кто не сможет выполнять то, что требуется. Я могу пример с музыкой привести. Учил самостоятельно и разбирался долго. Учил всё, от самих нот до сведения. Округлим до 10 лет, условно (учиться можно всю жизнь, в принципе). И я могу со всей уверенностью сказать, что минимум половина знаний вообще не используется и вряд ли пригодится. Это мб раньше надо было знать, как работает сайд-чейн компрессия в мелочах, сейчас же есть готовые плагины, которые в пару кликов это делают. Подозреваю, что с программированием примерно то же самое.
Кстати, а можете сделать видео по правилу "правильного кода"? как написать код меньше, быстрее, какой будет работать быстрее даже if else мгоние пишут абы как... а ведь его можно писать ИНАЧЕ и короче
8:40 так то есть люди которые все еще пинут код в es5 синтаксисе. стандарты это как версии. в целом это имеет значение только когда мы говорим о компиляции JS, например при настройке TS config. во всех остальных соучае пофиг. но все равно не стоит забывать о тех, кто использует var в продакшене
Ошибка на 6:54: ответ верный, объяснение ошибочно. “&&” возвращает не первое истинное значение, а первое логически ложное, либо если таких не найдено - последнее вычисленное (последнее из цепочки истинных). Даже отбросив контекст - сам по себе ноль назвать истинным в булевом контексте как-то прям совсем дерзко) При всём уважении к автору канала с превосходным материалом - такие штуки перед публикацией стоит проверить, перепроверить, и может быть даже ещё раз перепроверить.
да, потому что сетТаймаут ставит вызов в следующую итерацию eventLoop. ДО того как интерпретатор js дойдет до их выполнения он уже прокрутит цикл 10 раз. В переменной i будет 10, которая и выведется 10 раз, взятая из замыкания колбэчной функции. Может непонятно написал, но тогда вам надо гуглить eventLoop js
@@SoreraRU Тут как раз таки основной вопрос в том, что var глобальна, и по сути, каждый цикл будет перезаписывать её глобально, а не внутри лупа цикла.
7:00 через секунду выведется все и сразу от нуля до девяти, ибо цикл просто запустит 10 таймаутов по одной секунде, а не будет ждать выполнение каждого из них для запуска следующего.
да, у тебя запустится 10 таймаутов. но к тому моменту, когда они сработают, и уже равно 10. в консоли ты получишь десять десяток через секунду после старта программы
Дорогой автор, позволь вопрос. Ты говоришь, что YDKJS - must read. Но ведь второе издание сейчас имеют лишь 2 тома, а первое (полное) было написано аж в 2014-2015. При этом Справочник по JS от Флэнагана обновился в 2021 году. Я слышал про YDKJS и ранее, но всегда смущало, что местами он мог устареть. Как и Флэнаган (но вот он обновился). Что выбрать читать? Времени мало, зря читать не хочется. А ещё надо тестирование осваивать))
Самый сложный и не понятный язык это js,и не кто его не может объяснить а тем более научить его работе.Я в программирование 3 года но с этим языком полный мусор.
@@dogvscatfunny9956 да не, просто надо брать именно платный курс и найти себе подходящего препода я по пхп 20 лет искал и нашел теперь вот по яваскрипт нашел и боле менее понятно стало,как манипулировать хтмл и цсс сейчас вот рекурсию изучаю и не на фибоначах, а на реальном дереве объекта и как раз наверное мне такая рекурсия понадобитс, если я буду все настройки хранить в джейсоне, а не в бд я собственно ради одной проги его и изучаю, чтобы потом ее написать и может быть даже продавать
ЖС - легкий. Вся та мозаика на слайде с набором библиотек - чепуха. Там основы главное понять. Остальное все - либо уже не актуально, типа Доджо, Ембер и Марионетт. Либо учится за неделю на уровне практического применения с дальнейшим погружением в нюансы по мере надобности - типа Свелт, Реакт или Вью.
А бест практис наработается после пары-тройки код ревью, если оно есть на проекте. И то, часто это вкусовщина и дело привычки. Одни пишут так, другие - эдак. Одну и ту же задачу.
Дажваскриптизерам совсем заняться нечем? Какое отношение к элегантному или чистому решению может иметь кусок кода оформленный другим синтаксисом или через другой подход, всякие функциональные плюхи декларативного подхода?
ecmascript стандарт и html5 стандарт, остальное все филькина грамота которая плодит мифы и получаем то что 90% разработчиков js думают что eventloop это часть js)
Товарищи, прошу прощения за не самое лучшее качество видео, звука и подачу информации =)
Это был один из первых роликов, поэтому я еще не понимал как сделать хорошо и с правильной динамикой.
Надеюсь новые видео вам понравятся больше!
HTML это 100% работы =))
видео пушка, как и твой канал в целом, думаю скоро у тебя будут сотни тысяч подписчиков ))
Норм, усложняй а-то пока скучно
ruclips.net/video/nMcnkkwAg1s/видео.html на 7.45 почему на вопрос не дал правильный ответ?
Объясните пожалуйста. Я понял значение функции [].at(). НО Почему бы просто не сделали так чтобы можно было в индексах использовать отрицательные цифры?
на 6:59 ошибочка, ноль возвращается потому что первое ложное
Дааа, ты абсолютно прав! Благодарность за внимательность)
@@Howtogoit нужно видео исправить
Злой автор сломал этим мне мозг)
я как олень полез в ide всё это дело проверять, потом ещё раз 5 пересматривал
@@АндрейИванов-ц3к2л бывает)
Потрясающая подача! Продолжай в том же духе. Я смотрю, канал активно растёт - это радует!
То что Вы рассказываете, нередко является придуманной аналогией которая не имеет отношению к языку JS. И в этом не было бы ничего плохого, если бы Ваши аналогии работали для всего языка одинаково. А не тут работает а тут все иначе.
00:06:02 *Логическое И или логическое ИЛИ*
Объяснение автора не только не соответствует спецификации, но еще и запутывает человека.
Согласно спецификации конструкция подобной этой:
const resultA = 40 && 2 || 33
будет обрабатываться согласно следующему алгоритму:
весь код будет интерпретирован как assigment expression ( resultA = 40 && 2 || 33 )
то есть некоторое выражение которое нужно вычислить. Что мы пониманием интуитивно.
Далее JS выделит выражение: 40 && ( NextExpression )
И применит к нему следующие шаги:
1. Пусть lval будет результатом вычисления выражения (40)
согласно спецификации 40 - числовой литерал который вернет сам себя. то есть lval === 40
2. Пусть lBool будеь результатом выполнения - ToBolean( lval ) где:
функция ToBolean возвращает либо true либо false в зависимости от того что в нее передали:
2.1 если передали true или false, то вернуть что передали.
2.2 если передали +0, -0, 0, NaN, null, undefined то вернуть false
2.3 все прочее - вернуть true.
То есть ToBolean от числа 40: ToBoolean( 40) => True
3. Если Шаг 2 вернул False то прекратить вычисление и вернуть lval
В противном случае вычислить NextExpression
Та как Шаг 2 вернул True. То JavaScript идет дальше и теперь вычисляет выражение:
2 || ( Next Expression )
Что приведет к выполнению шагов:
Шаг 1 и Шаг 2 идентичен тому что выше.
3. Если шаг 2 вернул true то завершить вычисления и вернуть lval
Так как выражение (2) при его вычисление даст 2, а передача жтого результата в ToBoolean вернет true,
то цепочка вычислений прирывается. А это означает что изначальный идентификатор resultA связывается со значением 2.
Почему это правильно, а то что сказал автор видео - не правильно.
Потому что для случая выражения
const resultB = ( 4 * 2 ) && ( 3* 6)
выражение 3*6 будет вычислено только в том случае, если ToBoolean от (4 * 2) вернет true.
То есть дополнительная нагрузка на интерпретатор будет только тогда когда первая часть выражения вернет то, что позволяет оператору && принят решение о выполнении следующей части.
То есть в случае const resultB = ( 4 * 0 ) && ( 3* 6) JavaScript никогда даже разбирать на части выражение, которое идет за && не начнет.
То есть результат Logical AND Expression в JavaScript правильно описывать так:
( A ) && ( B ) && ( C ) && ( D ) .... && ( n );
преобразовывается в
( A ) && ( все что дальше)
и если результат вычисления от ToBoolean ( A ) === true то продолжить вычислять все что идет правее.
Если false вернуть результат вычисления.
окей, я когда впервые услышал черрипикнуть, то подумал, что чел просто решил звук воробья так назвать
Если программист не знал 1 функцию arr.reduce(, это не значит, что его нужно посылать, и то что он не подходит, так можно любого программиста послать, просто потому что он чего то не знает! Как вариант спрашивать его какую то редкую или не очевидную фичу js и посылать якобы по профнепригодности
Он сложный, потому что народ сразу лезет в reduce вместо того чтобы понять как работает цикл for :)
Если ты про момент на 9:03 то поздравляю, ты прочитал мои мысли, я сразу про reduce подумал , хотя там сложного то ничего и нет, аккумулятор в виде 0, и каждой итерацией считаем сумму корзины и соответственно потом возвращаем аккумулятор, делов то
@@awenn2015ой как замучали эти методы меня. сидел над фильтром, редюсом и мапом. за 2 дня научился их юзать))
Я не умею использовать редюс гы
Это да, как то встречал макак, которые даже сортировку через цикл сделать не могут
Ахах рил 😂
8:24 Невозможно знать всё. Да и не нужно, ты никогда не знаешь с чем будешь работать. Новые стандарты очень долго внедряются(прям иногда десятилетиями). Я так скажу, дофига проектов до сих пор на Node.JS младше 16, а уже 22("Это для примера) и там оох какой разный синтаксис.
Завалился на 0 && 2.
Не сразу понял, а потом как понял!
Это равносильно: false и 2
Второе значение не будет проверяться, так как первое вернуло false и проверка останавливается
(как заметили другие в комментариях - в ролике оговорка)
Нельзя сказать, что я не знал, но завалил проверку, так как не сообразил сразу.
После твоего коммента и мне стало всё понятно, 👍
Да на 7:00 ошибка в комментарии, "конечно же ноль, возвращается первое истиное", 0 && 2 должно вернуться не первое истиное, а последнее истиное или первое встретевшееся ложное, поскольку 0 логически считается ложное, он и возвращается.
Посмотрите на все фреймворки и выберите реакт, если не хотите потом искать работу две недели 😂
7:15 Прикольная задачка. Да, вопрос в порядке выполнения и области видимости. Подсказка: Что бы выводило по порядку, используйте "let"
Классное видео, благодаря ему я доработал код.
Из объекта выделял переменные, каждую отдельно, а потом еще и удалял их из объекта через delete. 4 строчки кода сжал до одной:
const { driver, car, ...contract } = currentContract
Спасибо!
из какого фильма взят отрывок в начале
?
let потому и нужен что-бы скрыть её там где это необходимо,а не пихать везде подряд.Например в цикле for лучше всего использовать let
Ееее кремниева долина! Обожааю
7:01 возвращается не первое истинное, а первое ложное, поэтому и вернулся ноль, ноль - это фолси, которое && видит как фолс
12:01 можно же деструктуризировать в круглых скобках (где ф-я принимает параметр) и сделать еще на одну строчку меньше
Но он станет менее читабельным
9:35 если элементов в массиве будет несколько сотен тысяч, решение через for, как раз таки, будет более приоритетным нежели reduce
6:39 эти операторы не должны возвращать никаких чисел, двойные логические операторы работают на уровне 1 и 0
точнее должны работать, но яваскрипт это убогое поделие, поэтому там все через жопу
Спасибо. Интересно. С юмором
я помню, совсем недавно...
был вопрос на интервью - посчитать корзину и вывести total всех цен...
так вот, я сделал через reduce и был собой доволен, но!!!! мне сказали, что .reduce работает дольше for()... поэтому я плохо знаю оптимизацию js...
ппц...
Дорогой автор, мне интересно Ваше мнение!
Как по мне, reduce сложная функция, но for ещё хуже. В последней, наверное, гораздо меньше выразительности. Если в задачи было условие по поиску самого быстрого решения - значит сказали всё правильно. Если же нет, то замечание выглядит странным.
@@ra-dro нет, посто было посчитать итоговое. Сделал через редюс. Но сразу докалупались, что это долго... И так не пишут, а пишут через фор, т.к быстрее работает. Но не стояла задача сделать максимально быстро, а просто посчитать числа
@@МаксимНырков-у6г Значит люди сами не знают, чего хотят, лишь бы приколупаться. Превентивная оптимизация в угоду читаемости - двойное зло. (:
я выбрал фреймворк Реакт, а потом оказалось, что это библиотека, что мне делать
Видос огонььь!
Ну получается что многое нужно учить не для того, что бы использовать, а для того, что бы пройти собеседование 🤦♂️
Я чет тоже немного засомневался. Я конечно в ИТ не работал, не знаю, но на мой взгляд главное уметь делать то, чем ты будешь заниматься на работе. А если ты какие-то мелочи в этом не совсем понимаешь (ну мб для перехода к другим задачам нужны эти мелочи), то тебе сможет подсказать коллега.
С другой стороны надо как-то отсеивать тех, кто не сможет выполнять то, что требуется.
Я могу пример с музыкой привести. Учил самостоятельно и разбирался долго. Учил всё, от самих нот до сведения. Округлим до 10 лет, условно (учиться можно всю жизнь, в принципе). И я могу со всей уверенностью сказать, что минимум половина знаний вообще не используется и вряд ли пригодится. Это мб раньше надо было знать, как работает сайд-чейн компрессия в мелочах, сейчас же есть готовые плагины, которые в пару кликов это делают. Подозреваю, что с программированием примерно то же самое.
3:46 где такую картинку взять по Git
С этого ролика) Ставишь на паузу , скриншотишь, сохраняешь :)
@@АндрейЯценко-т5я ахах
Кстати, а можете сделать видео по правилу "правильного кода"?
как написать код меньше, быстрее, какой будет работать быстрее
даже if else мгоние пишут абы как... а ведь его можно писать ИНАЧЕ и короче
Большое спасибо за материал!!! Очень хорошая подача )
в reduce отсутствует проверка на размер массива. с пустым массивом оно крашнет
Классные видео!
9:10
в цикле фор разве еденичку от длинны корзины не надо отнять?)
Не надо.
Спанчбоб - мой любимыый мульт)) Лайк!
6:05 я ещё люблю их называть операторами замыкания
Огромное спасибо.
8:40 так то есть люди которые все еще пинут код в es5 синтаксисе.
стандарты это как версии. в целом это имеет значение только когда мы говорим о компиляции JS, например при настройке TS config.
во всех остальных соучае пофиг.
но все равно не стоит забывать о тех, кто использует var в продакшене
Я всегда делю код на логические блоки с помощью комментов
Ошибка на 6:54: ответ верный, объяснение ошибочно. “&&” возвращает не первое истинное значение, а первое логически ложное, либо если таких не найдено - последнее вычисленное (последнее из цепочки истинных). Даже отбросив контекст - сам по себе ноль назвать истинным в булевом контексте как-то прям совсем дерзко) При всём уважении к автору канала с превосходным материалом - такие штуки перед публикацией стоит проверить, перепроверить, и может быть даже ещё раз перепроверить.
Фраза на 4:50, где на фоне такая картинка, звучит очень смешно)
В консоли всегда будет выводиться 10?
да, потому что сетТаймаут ставит вызов в следующую итерацию eventLoop. ДО того как интерпретатор js дойдет до их выполнения он уже прокрутит цикл 10 раз. В переменной i будет 10, которая и выведется 10 раз, взятая из замыкания колбэчной функции. Может непонятно написал, но тогда вам надо гуглить eventLoop js
@@SoreraRU попробуйте выполнить данный код
это не так работает
это пример замыкания, когда интерпретатор запоминает окружение
@@unkind_duck ага ага
@@SoreraRU Тут как раз таки основной вопрос в том, что var глобальна, и по сути, каждый цикл будет перезаписывать её глобально, а не внутри лупа цикла.
*Я изучаю джаву скрипт или в какую-то религию? Про слово истинну*
Да ты крут
7:00 через секунду выведется все и сразу от нуля до девяти, ибо цикл просто запустит 10 таймаутов по одной секунде, а не будет ждать выполнение каждого из них для запуска следующего.
да, у тебя запустится 10 таймаутов.
но к тому моменту, когда они сработают, и уже равно 10.
в консоли ты получишь десять десяток через секунду после старта программы
Пройдет секунда и сразу выведется 10 раз по 10. Javascript такой javascript)
@@СергейПресняков-о4р А если использовать let, то сначала пройдёт одна секунда, а только потом выведутся числа от 0 до 9.
@@StepanChuevYT да, я сначала представил в виде let. давно уже не юзал вары
@@augusthughes2871 +
Да не сложный он!! А запутанный, ввиду того, что эволюционировал!!!
Топ контент
Незнаю меня только и єтим он и манит єсли надоест можна лигко свичнуться в чтото другое без смени язика...
5:32- лайк)
чистый код не во всех случаях гуд
вроде ж 0 это false....
хотя вообще прикольно, не знал что эти операторы можно так юзать.
Да, ошибка
В js эти операторы ещё юзают для сокращённой записи, вместо if (true) run() пишут true && run()
@@this_IsUsername очень плохой пример использования оператора
@@faust2134 почему?
Как я напился ВОДОЙ
Дорогой автор, позволь вопрос. Ты говоришь, что YDKJS - must read. Но ведь второе издание сейчас имеют лишь 2 тома, а первое (полное) было написано аж в 2014-2015. При этом Справочник по JS от Флэнагана обновился в 2021 году. Я слышал про YDKJS и ранее, но всегда смущало, что местами он мог устареть. Как и Флэнаган (но вот он обновился). Что выбрать читать? Времени мало, зря читать не хочется. А ещё надо тестирование осваивать))
Самый сложный и не понятный язык это js,и не кто его не может объяснить а тем более научить его работе.Я в программирование 3 года но с этим языком полный мусор.
я его пробовал осилить с начала нулевых и атк не осилил
так что это норма
пару месяцев назад купил курсы по жс, боле менее стал понимать
@@kalobyte У меня знакомые учились в латвии,только там смогли объяснить и научить как это работает,в ру это не реально все понять.
@@dogvscatfunny9956 да не, просто надо брать именно платный курс и найти себе подходящего препода
я по пхп 20 лет искал и нашел
теперь вот по яваскрипт нашел и боле менее понятно стало,как манипулировать хтмл и цсс
сейчас вот рекурсию изучаю и не на фибоначах, а на реальном дереве объекта и как раз наверное мне такая рекурсия понадобитс, если я буду все настройки хранить в джейсоне, а не в бд
я собственно ради одной проги его и изучаю, чтобы потом ее написать и может быть даже продавать
ЖС - легкий. Вся та мозаика на слайде с набором библиотек - чепуха. Там основы главное понять. Остальное все - либо уже не актуально, типа Доджо, Ембер и Марионетт. Либо учится за неделю на уровне практического применения с дальнейшим погружением в нюансы по мере надобности - типа Свелт, Реакт или Вью.
А бест практис наработается после пары-тройки код ревью, если оно есть на проекте. И то, часто это вкусовщина и дело привычки. Одни пишут так, другие - эдак. Одну и ту же задачу.
Ещё страшнее PHP
Дажваскриптизерам совсем заняться нечем? Какое отношение к элегантному или чистому решению может иметь кусок кода оформленный другим синтаксисом или через другой подход, всякие функциональные плюхи декларативного подхода?
ecmascript стандарт и html5 стандарт, остальное все филькина грамота которая плодит мифы и получаем то что 90% разработчиков js думают что eventloop это часть js)
Ага, докажи Мурычу, что Var устарел )))
как поставить дополнительный лайк?)
Да, Backbon особенно важно знать.
Чистый код не существует
Самая главная ошибка,это учить js,серьезно.
Не айтем, а итм)))
Вредный контент для новичков
javascript ебучее говно
И ты тоже