JavaScript: ошибки, которые вы чаще всего допускаете в изучении!

  Рет қаралды 43,963

Как пройти в IT?

Как пройти в IT?

Күн бұрын

Пікірлер: 105
@it2138
@it2138 3 жыл бұрын
Товарищи, прошу прощения за не самое лучшее качество видео, звука и подачу информации =) Это был один из первых роликов, поэтому я еще не понимал как сделать хорошо и с правильной динамикой. Надеюсь новые видео вам понравятся больше!
@mikaelgevorgyan4521
@mikaelgevorgyan4521 3 жыл бұрын
HTML это 100% работы =))
@elford9337
@elford9337 3 жыл бұрын
видео пушка, как и твой канал в целом, думаю скоро у тебя будут сотни тысяч подписчиков ))
@puhd4167
@puhd4167 3 жыл бұрын
Норм, усложняй а-то пока скучно
@PlaceTickets
@PlaceTickets Жыл бұрын
kzbin.info/www/bejne/pH7Gn56hrKaaZ9U на 7.45 почему на вопрос не дал правильный ответ?
@PlaceTickets
@PlaceTickets Жыл бұрын
Объясните пожалуйста. Я понял значение функции [].at(). НО Почему бы просто не сделали так чтобы можно было в индексах использовать отрицательные цифры?
@fantast2568
@fantast2568 3 жыл бұрын
на 6:59 ошибочка, ноль возвращается потому что первое ложное
@it2138
@it2138 3 жыл бұрын
Дааа, ты абсолютно прав! Благодарность за внимательность)
@vladick4272
@vladick4272 3 жыл бұрын
@@it2138 нужно видео исправить
@Dimaaasik
@Dimaaasik 3 жыл бұрын
Злой автор сломал этим мне мозг)
@АндрейИванов-ц3к2л
@АндрейИванов-ц3к2л 3 жыл бұрын
я как олень полез в ide всё это дело проверять, потом ещё раз 5 пересматривал
@Dimaaasik
@Dimaaasik 3 жыл бұрын
@@АндрейИванов-ц3к2л бывает)
@NotasCicero
@NotasCicero 3 жыл бұрын
Потрясающая подача! Продолжай в том же духе. Я смотрю, канал активно растёт - это радует!
@kookaburru
@kookaburru 3 жыл бұрын
Он сложный, потому что народ сразу лезет в reduce вместо того чтобы понять как работает цикл for :)
@awenn2015
@awenn2015 2 жыл бұрын
Если ты про момент на 9:03 то поздравляю, ты прочитал мои мысли, я сразу про reduce подумал , хотя там сложного то ничего и нет, аккумулятор в виде 0, и каждой итерацией считаем сумму корзины и соответственно потом возвращаем аккумулятор, делов то
@шоисломтолибов-х5л
@шоисломтолибов-х5л 10 ай бұрын
@@awenn2015ой как замучали эти методы меня. сидел над фильтром, редюсом и мапом. за 2 дня научился их юзать))
@Oooohhh_maaaan
@Oooohhh_maaaan 7 ай бұрын
Я не умею использовать редюс гы
@sjdjjsjsjs3991
@sjdjjsjsjs3991 2 ай бұрын
Это да, как то встречал макак, которые даже сортировку через цикл сделать не могут
@Im-not-meat
@Im-not-meat 2 ай бұрын
Ахах рил 😂
@alexabees682
@alexabees682 3 жыл бұрын
окей, я когда впервые услышал черрипикнуть, то подумал, что чел просто решил звук воробья так назвать
@maksimzolotoi3379
@maksimzolotoi3379 3 жыл бұрын
Посмотрите на все фреймворки и выберите реакт, если не хотите потом искать работу две недели 😂
@demimurych1
@demimurych1 Жыл бұрын
То что Вы рассказываете, нередко является придуманной аналогией которая не имеет отношению к языку 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 вернуть результат вычисления.
@PostoiParovoz
@PostoiParovoz 3 жыл бұрын
Завалился на 0 && 2. Не сразу понял, а потом как понял! Это равносильно: false и 2 Второе значение не будет проверяться, так как первое вернуло false и проверка останавливается (как заметили другие в комментариях - в ролике оговорка) Нельзя сказать, что я не знал, но завалил проверку, так как не сообразил сразу.
@SLAVA_INKOGNITO
@SLAVA_INKOGNITO 4 ай бұрын
После твоего коммента и мне стало всё понятно, 👍
@sodz5144
@sodz5144 3 ай бұрын
7:15 Прикольная задачка. Да, вопрос в порядке выполнения и области видимости. Подсказка: Что бы выводило по порядку, используйте "let"
@ПавелВасильев-ц4м
@ПавелВасильев-ц4м 3 жыл бұрын
Классное видео, благодаря ему я доработал код. Из объекта выделял переменные, каждую отдельно, а потом еще и удалял их из объекта через delete. 4 строчки кода сжал до одной: const { driver, car, ...contract } = currentContract Спасибо!
@funnyenglish4330
@funnyenglish4330 3 жыл бұрын
Ееее кремниева долина! Обожааю
@sodz5144
@sodz5144 3 ай бұрын
8:24 Невозможно знать всё. Да и не нужно, ты никогда не знаешь с чем будешь работать. Новые стандарты очень долго внедряются(прям иногда десятилетиями). Я так скажу, дофига проектов до сих пор на Node.JS младше 16, а уже 22("Это для примера) и там оох какой разный синтаксис.
@thistalehasahint
@thistalehasahint 9 ай бұрын
Если программист не знал 1 функцию arr.reduce(, это не значит, что его нужно посылать, и то что он не подходит, так можно любого программиста послать, просто потому что он чего то не знает! Как вариант спрашивать его какую то редкую или не очевидную фичу js и посылать якобы по профнепригодности
@blackcrow2292
@blackcrow2292 Жыл бұрын
6:05 я ещё люблю их называть операторами замыкания
@artemgoncharuk5174
@artemgoncharuk5174 Жыл бұрын
Да на 7:00 ошибка в комментарии, "конечно же ноль, возвращается первое истиное", 0 && 2 должно вернуться не первое истиное, а последнее истиное или первое встретевшееся ложное, поскольку 0 логически считается ложное, он и возвращается.
@dzanis79
@dzanis79 3 жыл бұрын
let потому и нужен что-бы скрыть её там где это необходимо,а не пихать везде подряд.Например в цикле for лучше всего использовать let
@aipronator
@aipronator 2 жыл бұрын
12:01 можно же деструктуризировать в круглых скобках (где ф-я принимает параметр) и сделать еще на одну строчку меньше
@Plarget
@Plarget Жыл бұрын
Но он станет менее читабельным
@МаксимАндросов-с8н
@МаксимАндросов-с8н 3 жыл бұрын
Большое спасибо за материал!!! Очень хорошая подача )
@dmytrosokolovsky8959
@dmytrosokolovsky8959 2 жыл бұрын
9:35 если элементов в массиве будет несколько сотен тысяч, решение через for, как раз таки, будет более приоритетным нежели reduce
@alenache1
@alenache1 3 жыл бұрын
7:01 возвращается не первое истинное, а первое ложное, поэтому и вернулся ноль, ноль - это фолси, которое && видит как фолс
@gh8499
@gh8499 2 жыл бұрын
Фраза на 4:50, где на фоне такая картинка, звучит очень смешно)
@samolevich
@samolevich 2 жыл бұрын
Спасибо. Интересно. С юмором
@МаксимНырков-у6г
@МаксимНырков-у6г 3 жыл бұрын
Кстати, а можете сделать видео по правилу "правильного кода"? как написать код меньше, быстрее, какой будет работать быстрее даже if else мгоние пишут абы как... а ведь его можно писать ИНАЧЕ и короче
@N5O1
@N5O1 2 жыл бұрын
8:40 так то есть люди которые все еще пинут код в es5 синтаксисе. стандарты это как версии. в целом это имеет значение только когда мы говорим о компиляции JS, например при настройке TS config. во всех остальных соучае пофиг. но все равно не стоит забывать о тех, кто использует var в продакшене
@bohdanartemenko
@bohdanartemenko 3 жыл бұрын
5:32- лайк)
@alenache1
@alenache1 3 жыл бұрын
я выбрал фреймворк Реакт, а потом оказалось, что это библиотека, что мне делать
@Dudarik
@Dudarik 3 жыл бұрын
Да не сложный он!! А запутанный, ввиду того, что эволюционировал!!!
@kol4an721
@kol4an721 3 жыл бұрын
Я всегда делю код на логические блоки с помощью комментов
@МаксимНырков-у6г
@МаксимНырков-у6г 3 жыл бұрын
я помню, совсем недавно... был вопрос на интервью - посчитать корзину и вывести total всех цен... так вот, я сделал через reduce и был собой доволен, но!!!! мне сказали, что .reduce работает дольше for()... поэтому я плохо знаю оптимизацию js... ппц... Дорогой автор, мне интересно Ваше мнение!
@ra-dro
@ra-dro 3 жыл бұрын
Как по мне, reduce сложная функция, но for ещё хуже. В последней, наверное, гораздо меньше выразительности. Если в задачи было условие по поиску самого быстрого решения - значит сказали всё правильно. Если же нет, то замечание выглядит странным.
@МаксимНырков-у6г
@МаксимНырков-у6г 3 жыл бұрын
@@ra-dro нет, посто было посчитать итоговое. Сделал через редюс. Но сразу докалупались, что это долго... И так не пишут, а пишут через фор, т.к быстрее работает. Но не стояла задача сделать максимально быстро, а просто посчитать числа
@ra-dro
@ra-dro 3 жыл бұрын
@@МаксимНырков-у6г Значит люди сами не знают, чего хотят, лишь бы приколупаться. Превентивная оптимизация в угоду читаемости - двойное зло. (:
@maxvaluev396
@maxvaluev396 3 жыл бұрын
Спанчбоб - мой любимыый мульт)) Лайк!
@Dai_Fudo-Dev
@Dai_Fudo-Dev 3 жыл бұрын
Огромное спасибо.
@ivanrar1930
@ivanrar1930 5 ай бұрын
из какого фильма взят отрывок в начале ?
@mikewazowski7526
@mikewazowski7526 3 жыл бұрын
Классные видео!
@via754
@via754 Жыл бұрын
Ну получается что многое нужно учить не для того, что бы использовать, а для того, что бы пройти собеседование 🤦‍♂️
@ThomasBlack452
@ThomasBlack452 8 ай бұрын
Я чет тоже немного засомневался. Я конечно в ИТ не работал, не знаю, но на мой взгляд главное уметь делать то, чем ты будешь заниматься на работе. А если ты какие-то мелочи в этом не совсем понимаешь (ну мб для перехода к другим задачам нужны эти мелочи), то тебе сможет подсказать коллега. С другой стороны надо как-то отсеивать тех, кто не сможет выполнять то, что требуется. Я могу пример с музыкой привести. Учил самостоятельно и разбирался долго. Учил всё, от самих нот до сведения. Округлим до 10 лет, условно (учиться можно всю жизнь, в принципе). И я могу со всей уверенностью сказать, что минимум половина знаний вообще не используется и вряд ли пригодится. Это мб раньше надо было знать, как работает сайд-чейн компрессия в мелочах, сейчас же есть готовые плагины, которые в пару кликов это делают. Подозреваю, что с программированием примерно то же самое.
@АлександрПанков-к6л
@АлександрПанков-к6л 3 жыл бұрын
Видос огонььь!
@fromillia
@fromillia 3 жыл бұрын
Да ты крут
@СергейК-б6н
@СергейК-б6н Жыл бұрын
Топ контент
@PavelPirogov
@PavelPirogov 3 жыл бұрын
в reduce отсутствует проверка на размер массива. с пустым массивом оно крашнет
@ДмитрийЛевченко-н3л
@ДмитрийЛевченко-н3л Жыл бұрын
Ошибка на 6:54: ответ верный, объяснение ошибочно. “&&” возвращает не первое истинное значение, а первое логически ложное, либо если таких не найдено - последнее вычисленное (последнее из цепочки истинных). Даже отбросив контекст - сам по себе ноль назвать истинным в булевом контексте как-то прям совсем дерзко) При всём уважении к автору канала с превосходным материалом - такие штуки перед публикацией стоит проверить, перепроверить, и может быть даже ещё раз перепроверить.
@Oleg_A-v
@Oleg_A-v 3 жыл бұрын
Да, Backbon особенно важно знать.
@stanislavivko7329
@stanislavivko7329 3 жыл бұрын
9:10 в цикле фор разве еденичку от длинны корзины не надо отнять?)
@XTANCE
@XTANCE 2 жыл бұрын
Не надо.
@dogvscatfunny9956
@dogvscatfunny9956 9 ай бұрын
Самый сложный и не понятный язык это js,и не кто его не может объяснить а тем более научить его работе.Я в программирование 3 года но с этим языком полный мусор.
@olezhonnv3215
@olezhonnv3215 3 жыл бұрын
ЖС - легкий. Вся та мозаика на слайде с набором библиотек - чепуха. Там основы главное понять. Остальное все - либо уже не актуально, типа Доджо, Ембер и Марионетт. Либо учится за неделю на уровне практического применения с дальнейшим погружением в нюансы по мере надобности - типа Свелт, Реакт или Вью.
@olezhonnv3215
@olezhonnv3215 3 жыл бұрын
А бест практис наработается после пары-тройки код ревью, если оно есть на проекте. И то, часто это вкусовщина и дело привычки. Одни пишут так, другие - эдак. Одну и ту же задачу.
@shaxx05
@shaxx05 9 ай бұрын
Как я напился ВОДОЙ
@stanislavivko7329
@stanislavivko7329 3 жыл бұрын
вроде ж 0 это false.... хотя вообще прикольно, не знал что эти операторы можно так юзать.
@this_IsUsername
@this_IsUsername 3 жыл бұрын
Да, ошибка
@this_IsUsername
@this_IsUsername 3 жыл бұрын
В js эти операторы ещё юзают для сокращённой записи, вместо if (true) run() пишут true && run()
@faust2134
@faust2134 3 жыл бұрын
@@this_IsUsername очень плохой пример использования оператора
@this_IsUsername
@this_IsUsername 3 жыл бұрын
@@faust2134 почему?
@KogotGRIEF
@KogotGRIEF 2 ай бұрын
*Я изучаю джаву скрипт или в какую-то религию? Про слово истинну*
@Kot_off
@Kot_off 3 жыл бұрын
3:46 где такую картинку взять по Git
@АндрейЯценко-т5я
@АндрейЯценко-т5я 3 жыл бұрын
С этого ролика) Ставишь на паузу , скриншотишь, сохраняешь :)
@holovkevych
@holovkevych 3 жыл бұрын
@@АндрейЯценко-т5я ахах
@ЕкатеринаТребушнаяДубровина
@ЕкатеринаТребушнаяДубровина 3 жыл бұрын
В консоли всегда будет выводиться 10?
@SoreraRU
@SoreraRU 3 жыл бұрын
да, потому что сетТаймаут ставит вызов в следующую итерацию eventLoop. ДО того как интерпретатор js дойдет до их выполнения он уже прокрутит цикл 10 раз. В переменной i будет 10, которая и выведется 10 раз, взятая из замыкания колбэчной функции. Может непонятно написал, но тогда вам надо гуглить eventLoop js
@unkind_duck
@unkind_duck 3 жыл бұрын
@@SoreraRU попробуйте выполнить данный код это не так работает это пример замыкания, когда интерпретатор запоминает окружение
@SoreraRU
@SoreraRU 3 жыл бұрын
@@unkind_duck ага ага
@arhim7650
@arhim7650 3 жыл бұрын
@@SoreraRU Тут как раз таки основной вопрос в том, что var глобальна, и по сути, каждый цикл будет перезаписывать её глобально, а не внутри лупа цикла.
@Serega5j
@Serega5j 2 жыл бұрын
Ещё страшнее PHP
@N__C__R
@N__C__R Жыл бұрын
чистый код не во всех случаях гуд
@augusthughes2871
@augusthughes2871 3 жыл бұрын
7:00 через секунду выведется все и сразу от нуля до девяти, ибо цикл просто запустит 10 таймаутов по одной секунде, а не будет ждать выполнение каждого из них для запуска следующего.
@stanislavivko7329
@stanislavivko7329 3 жыл бұрын
да, у тебя запустится 10 таймаутов. но к тому моменту, когда они сработают, и уже равно 10. в консоли ты получишь десять десяток через секунду после старта программы
@СергейПресняков-о4р
@СергейПресняков-о4р 3 жыл бұрын
Пройдет секунда и сразу выведется 10 раз по 10. Javascript такой javascript)
@StepanChuevYT
@StepanChuevYT 3 жыл бұрын
@@СергейПресняков-о4р А если использовать let, то сначала пройдёт одна секунда, а только потом выведутся числа от 0 до 9.
@augusthughes2871
@augusthughes2871 3 жыл бұрын
@@StepanChuevYT да, я сначала представил в виде let. давно уже не юзал вары
@StepanChuevYT
@StepanChuevYT 3 жыл бұрын
@@augusthughes2871 +
@Alexander-S.
@Alexander-S. 3 жыл бұрын
Дорогой автор, позволь вопрос. Ты говоришь, что YDKJS - must read. Но ведь второе издание сейчас имеют лишь 2 тома, а первое (полное) было написано аж в 2014-2015. При этом Справочник по JS от Флэнагана обновился в 2021 году. Я слышал про YDKJS и ранее, но всегда смущало, что местами он мог устареть. Как и Флэнаган (но вот он обновился). Что выбрать читать? Времени мало, зря читать не хочется. А ещё надо тестирование осваивать))
@Sat_Poisen
@Sat_Poisen 10 ай бұрын
Ага, докажи Мурычу, что Var устарел )))
@yuriikilyk8923
@yuriikilyk8923 3 жыл бұрын
Незнаю меня только и єтим он и манит єсли надоест можна лигко свичнуться в чтото другое без смени язика...
@andriihallahuz9366
@andriihallahuz9366 3 жыл бұрын
как поставить дополнительный лайк?)
@fuad2069
@fuad2069 2 жыл бұрын
Не айтем, а итм)))
@Rinat-p7f
@Rinat-p7f 6 ай бұрын
ecmascript стандарт и html5 стандарт, остальное все филькина грамота которая плодит мифы и получаем то что 90% разработчиков js думают что eventloop это часть js)
@jonkarmok1840
@jonkarmok1840 3 жыл бұрын
Дажваскриптизерам совсем заняться нечем? Какое отношение к элегантному или чистому решению может иметь кусок кода оформленный другим синтаксисом или через другой подход, всякие функциональные плюхи декларативного подхода?
@Tornado-ln7fq
@Tornado-ln7fq 9 ай бұрын
Самая главная ошибка,это учить js,серьезно.
@athillas460
@athillas460 2 жыл бұрын
Чистый код не существует
@vladick4272
@vladick4272 3 жыл бұрын
Вредный контент для новичков
@Diy_samodelki
@Diy_samodelki 8 ай бұрын
javascript ебучее говно
@al-valid749
@al-valid749 Ай бұрын
И ты тоже
JavaScript - проповедь Чистого кода!
15:09
Как пройти в IT?
Рет қаралды 46 М.
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,3 МЛН
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 5 МЛН
Каха и лужа  #непосредственнокаха
00:15
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 4,8 МЛН
SENIOR on JUNIOR Javascript Developer interview
26:35
BELOV
Рет қаралды 350 М.
Чудовищно функциональный JavaScript
21:31
Как пройти в IT?
Рет қаралды 55 М.
Frontend заменит мобильную разработку? WTF?!?!
11:15
Как пройти в IT?
Рет қаралды 10 М.
100+ JavaScript Concepts you Need to Know
12:24
Fireship
Рет қаралды 2,2 МЛН
HTMX заменит Frontend?! WTF?
12:12
Как пройти в IT?
Рет қаралды 113 М.
Программисты-самоучки... Слушайте внимательно.
22:45
Евгений Афанасьев
Рет қаралды 128 М.
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,3 МЛН