Тёмный

10 ошибок начинающих Frontend программистов. Условные операторы if ... else. 

wise.js 
Подписаться 18 тыс.
Просмотров 8 тыс.
50% 1

Рассмотрим 10 ошибок начинающих Frontend / JavaScript программистов, которые чаще всего допускают при работе с условными операторами: if ... else, switch, тренарный оператор, возврат булевого значения и другие.
Таймкоды:
0:00 - Какие ошибки рассмотрим
00:11 - Прямое сравнение с true / false
01:19 - Явный возврат true / false
02:37 - Обучение с Wise.js Online
03:04 - Лишние проверки и переменные
03:55 - Неподходящие структуры данных
05:33 - Разветвления не через switch
06:41 - Большие множественные условия
08:46 - Проверка на пустоту
09:24 - Излишние сокращения if … else
10:36 - Сравнение ссылок
11:36 - Сравнение или присвоение
Приятного просмотра! Буду благодарен за поддержку в виде комментария и лайка)
✔️Если хочешь изучать программирование со мной, не забудь подписаться :)
ru-vid.com/show-UCOxq...
✔️Мой телеграм канал: t.me/joinchat/RVq-cmt6n1SJRS7Z
#javascript #программирование #ifelse #wisejs #wisejsonline #top10 #js

Опубликовано:

 

19 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 50   
@pepper_oni
@pepper_oni 2 года назад
по поводу последнего примера оператор присвоения возвращает значение, которое присваивается поэтому если переменной x из примера присвоить falsy-значение (например, x = null), то отработает блок else ну, это к словам автора о том, что всегда будет срабатывать первый блок - это не совсем правда, так что be more careful, как говорится)
@romanpohribniak8471
@romanpohribniak8471 2 года назад
ОООООО,Годнота как всегда!!!!👍👍👍😤😤😤😤👍👍👍
@JohnDoe-hw1sm
@JohnDoe-hw1sm Год назад
Про сравнение объектов на одинаковость. Если объекты достаточно простые и небольшого размера, то можно их превратить в json строки, и сравнить строки. В качестве одного из возможных вариантов решения задачи, имхо.
@user-sy5yh5tw1r
@user-sy5yh5tw1r Год назад
очень годно, спасибо!!
@mykhailostepanishchev6472
@mykhailostepanishchev6472 2 года назад
Супер,спасибо !
@artemm4601
@artemm4601 2 года назад
"Проверка на пустоту" хочу дополнить, что если переменная будет 0 - ноль, тогда тоже приведение к типу булеан вернет false
@dmitriyvvmp9703
@dmitriyvvmp9703 2 года назад
Актуально для vs code, в ide от JB большая часть этих ошибок будет фонить и предлагать альтернативу. А так годнота!
@wisejs
@wisejs 2 года назад
Вы правы, однако, большинство начинающих зачастую не могут их правильно интерпретировать. Ну и на интервью подсказок от IDE не будет 😉
@nikitasidorin
@nikitasidorin Год назад
Прямое сравнение с false даже иногда прописано во внутренних правилах кодстайла проекта для читабельности кода. Я такое видел и у серьезных ребят. Это вкусовщина. Это как говорить, что ставить / не ставить ";" в конце выражения это ошибка новичка. Ну и я бы согласился с таким в TS, так как там мы знаем тип. А в JS часто бывает что не все приводимые к false значения подходят под условие.
@olezhonnv3215
@olezhonnv3215 Год назад
Тут многое вкусовщина. В этом видео.
@TheFastmind
@TheFastmind 2 года назад
Норм, давай ещё
@raff_m_d6971
@raff_m_d6971 Год назад
От души
@frqt_
@frqt_ Год назад
Объясните пожалуйста момент 8:24 У нас в проверке вообще не участвует аргумент функции (а), как такое возможно?
@oleksii3356
@oleksii3356 10 месяцев назад
тоже обратил внимание. наверное автор ошибся.
@Renarus
@Renarus 2 года назад
В switch case всегда использовал break; а не return; Не закралась ли опечатка?
@wisejs
@wisejs 2 года назад
Все верно. Break выходит из switch/case , но не возвращает результат.
@t1m0fe1
@t1m0fe1 2 года назад
А разве switch не медленнее if else? Разве стоит использовать switch?
@friranger
@friranger 2 года назад
Сайт не работает((
@olezhonnv3215
@olezhonnv3215 2 года назад
А вот там, где if (test), оно ж и 0 за пустоту примет. А если 0 - валидный?
@wisejs
@wisejs 2 года назад
Ответ очевиден.
@olezhonnv3215
@olezhonnv3215 Год назад
​@@wisejs Реально, 0 - тоже falsy value. Как и ''.
@andreymost7662
@andreymost7662 2 года назад
А в книге Мартина - Чистый код пишется не использовать switch case предпочитая им if else
@wisejs
@wisejs 2 года назад
Если вы читали внимательно, то видели следующее в этой же главе, цитирую: "Мое общее правило в отношении команд switch гласит, что эти команды допустимы, если они встречаются в программе однократно, используются для создания полиморфных объектов и скрываются за отношениями наследования, чтобы оставаться невидимыми для остальных частей системы [G23] . Конечно, правил без исключений не бывает и в некоторых ситуациях приходится нарушать одно или несколько условий этого правила ."
@olezhonnv3215
@olezhonnv3215 Год назад
Понаписывают всякого, из пальца многое высосут, а ты потом размышляй))) У меня принцип простой, подстраиваюсь под стиль, если его придумал не я. Чтобы не спорить о пустом.
@olezhonnv3215
@olezhonnv3215 Год назад
Все эти писатели - это философы больше, чем программисты. Они ученые, в каком-то роде - стремятся к недостижимому идеалу. А нам - на земле работать, дело делать! Самое главное - задачу бизнеса решить. И получить за это деньги! А свитч там, или иф елс - дело такое. Завернут на ревью - переписать не проблема. Если лид религиозный, то это надо уважать)))
@mmospanenko
@mmospanenko 2 года назад
Не прошел бы такой код наше ревью... Свич кейс?
@faust2134
@faust2134 2 года назад
isOffline плохой пример. Что если нужно сравнивать именно на false? а не на undefined или null? Такие ситуации бывают. Иногда бывает 3 состояния: true, false и null. Допустим, null означает, что нет доступа к информации о состоянии юзера. И тогда ваше исправление создаст баг
@wisejs
@wisejs 2 года назад
!null -> true, т е пример подходит и покрывает. C undefined то же самое. А если null имеет скрытый смысл, тогда проблема в самой логике кода.
@romanryaboshtan9270
@romanryaboshtan9270 2 года назад
Я всё знал, кроме одного и кроме some
@wisejs
@wisejs 2 года назад
👍
@user-cw6xh4nv9t
@user-cw6xh4nv9t 2 года назад
Правильно было бы назвать 11 ошибок. + 1 на 5:12 минуте
@topsportsevents6014
@topsportsevents6014 2 года назад
А еще лучше сразу ts учить . Помогает избежать ошибок и начинаешь код лучше понимать .
@insane9399
@insane9399 2 года назад
Безсмысленное, моменты где ТС нужен очень мало а везде его совать - себе дороже.
@olezhonnv3215
@olezhonnv3215 2 года назад
Дичь несусветная этот TS!
@mayer9228
@mayer9228 2 года назад
@@olezhonnv3215 я надеюсь это сарказм
@mayer9228
@mayer9228 2 года назад
@@insane9399 как раз таки в наше время писать без ТС - себе дороже.
@olezhonnv3215
@olezhonnv3215 Год назад
​​@@mayer9228 Нет, не сарказм - реальная дичь. На нем такие выкрутасы выворачивают. Код write only. Примеры лень искать Я такого рода код видел еще на Перле - там немного другое, но тоже написал и все, править нереально! Типы - это хорошо. И автокомплит хороший с ТС. Но заоверинженерили уже, работа с типами должна быть проще. Я пишу и на си, и на джаве - там без типов вообще никак. А вот JS - как раз таки хорош своей динамикой. Но это же и слабая его сторона. Сейчас, ТС - маст хэв! Потому что рынок. Мы же деньги зарабатываем - приходится терпеть эту дичь))) Но мое мнение - тайпскрипт маст дай! У Микрософта 2 классных продукта - ХБокс и ВС Код. И еще игра Эйдж оф Эмпайрс. Вроде, они делали, если не ошибаюсь. Или издавали. Все остальное - МАСТ ДАЙ! Я хочу нативный тайпинг в ЖС, как во Флеше был, в Экшн Скрипт 3. Вот такой тайпинг - бамбарбия был бы для меня!
@user-db4ro5ly8d
@user-db4ro5ly8d 2 года назад
Здравствуйте
@wisejs
@wisejs 2 года назад
Здравствуйте 🙂
@user-db4ro5ly8d
@user-db4ro5ly8d 2 года назад
@@wisejs Как можно записаться на курс ?
@wisejs
@wisejs 2 года назад
@@user-db4ro5ly8d Записаться на курс можно на сайте wisejs.online/. Если у вас остались вопросы - пишите в телеграмм t.me/wisejs
@olezhonnv3215
@olezhonnv3215 2 года назад
Автор любит лишний раз дергать менеджер памяти и потом сборщик мусора, создавая объекты и массивы внутри функций, чтобы взять из них значение для возврата. Молодец! Реакт головного мозга?
@olezhonnv3215
@olezhonnv3215 2 года назад
Простое действие О(1) автор с легкостью меняет на О(n), используя indexOf вместо элементарного ||. Дааа... Это даже не реакт - это редакс головного мозга!
@wisejs
@wisejs 2 года назад
Говорить об O(1) и O(n) в примере с 2-3-мя элементами массива? Да, я в этом случае пожертвую оптимизацией в сторону читабельности кода. И какое это имеет отношение к редаксу?
@olezhonnv3215
@olezhonnv3215 Год назад
​@@wisejs Ладно, это у меня Си головного мозга)))
@olezhonnv3215
@olezhonnv3215 Год назад
​​@@wisejs Я просто ретрогад. И мне не место на рынке! Я искренне считаю реакт, редакс и тайпскрипт - дичью! Но рынок со мной не согласен, поэтому я могу выплеснуть свою ненависть в комментариях! А на работе - приходится терпеть. Потому что надо решать бизнес задачи, работать с командой, и дело делать! А не ныть, что было так прекрасно в старые добрые времена жКвери))) И вообще - я за табличную верстку! Это же тоже гриды! Классные были времена. Деньги зарабатывались и не надо было в этом зоопарке из сборщиков, тулзов, библиотек ковыряться. Собесы легко проходились. Пхп, жКвери знаешь - ты принят! Не то, шо щас - от джуна не требуют разве что докторской научной степени в компютер саенс)))
@fz7429
@fz7429 Год назад
Switch мусор не советую его вообще юзать. А для сравнения двух объектов удобно юзать JSON.stringify()
@BlackCrowGD
@BlackCrowGD Год назад
Не вводи в заблуждение.
@fz7429
@fz7429 Год назад
@@BlackCrowGDвсмысле?
@raff_m_d6971
@raff_m_d6971 Год назад
От души
Далее
Что такое keyof typeof в TypeScript.
8:46
Просмотров 17 тыс.