9 JavaScript кодов Must Have для junior

Поделиться
HTML-код
  • Опубликовано: 4 фев 2025

Комментарии • 119

  • @klejnov
    @klejnov 3 года назад +133

    В последнем примере:
    y=t;
    должно так быть.

    • @ivanbilous5500
      @ivanbilous5500 3 года назад +2

      Да, но суть в друом.

    • @alexbulavin543
      @alexbulavin543 3 года назад

      👍👍👍

    • @Василь-ь1й
      @Василь-ь1й 3 года назад +2

      @@vitaliylufter8765 только что проверил у с правильным присвоением у меня в 4 раза быстрее!
      по ходу не особо важно что к чему присваиваем если это простые числа в соседнем скопе! принцип верен!

    • @i.am.rossalex
      @i.am.rossalex 3 года назад +4

      и в этом примере, еще быстрей пройдет замена арифметической операцией:
      a = a + b;
      b = a - b;
      a = a - b;

  • @dennisfisher2684
    @dennisfisher2684 3 года назад +4

    Четвертый мастхэв - деструктиризация данных.
    Пятый - спред оператор )
    Спасибо за видео! Действительно мастхев! )

  • @AlexMitinPlus
    @AlexMitinPlus 3 года назад +2

    Аргумент-объект - неоднозначная вещь. Если в функции малое количество аргументов, то лучше применять JSDoc. И IDE вам подскажет чего функция от вас ждёт. Самодельные объекты тоже надо документировать, а иначе откуда другим программистам узнать что в объекте должно быть? И не переданные значения при использовании объекта разве обрабатывать не надо?
    С другой стороны есть случаи, когда объекты в качестве аргументов - лучший выбор: обработчики событий, манипуляции с DOM и т.п.
    Есть ещё случай, когда в функции очень много аргументов. И может показаться, что объект лучше. Но если в вашей функции аргументов больше 5, возможно, она делает слишком много.
    В общем, как везде, о методе знать нужно, но делать все функции принимающими только объекты тоже спешить не стоит.

  • @moskalenko2k24
    @moskalenko2k24 3 года назад +36

    Хорошее видео. Ошибка только в последнем примере, правильный обмен переменных это
    let t = x;
    x = y;
    y = t; // y = x нельзя, так как в x уже содержится y

    • @pupizoid100
      @pupizoid100 Год назад

      А вместо t может быть любое обозначение? Или t означает time время?

    • @moskalenko2k24
      @moskalenko2k24 Год назад

      @@pupizoid100 называть переменную можно как угодно. Хоть какой-то буквой d, и это ничего означать не будет. А t это точно не time, t логично рассматривать как tmp, temporary = временная переменная.

    • @pupizoid100
      @pupizoid100 Год назад

      @@moskalenko2k24 Понятно. Спасибо. Я проверил как сказали
      let t = x;
      x = y;
      y = t; Получилось на 3 секунды дольше, странно. Чем
      let t = x;
      x = y;
      y = x

    • @moskalenko2k24
      @moskalenko2k24 Год назад

      @@pupizoid100 так а что странного, второй код неправильный = он не решает задачу обмена переменных, в итоге там переменная t не использует и похоже интерпретатор JS это понимает и игнорирует ненужную переменную.

    • @pupizoid100
      @pupizoid100 Год назад

      @@moskalenko2k24 А вот почему он так быстро обработал. Теперь понял до конца

  • @GreenHappyHelix
    @GreenHappyHelix 3 года назад +27

    ждем "9 JavaScript кодов Must Have для мидлов")

    • @constantineh.1235
      @constantineh.1235 3 года назад +2

      Согласен, для мидлов всегда мало контента, было бы неплохо

  • @giorgi_pa
    @giorgi_pa 3 года назад +2

    Как всегда жииирный + от меня.
    Есть комент по #1. Единственны + в передаче обьекта как параметра, это ничего извне менять не надо.супер актуально в больших проектах.

  • @arsa946
    @arsa946 2 года назад

    Спасибо! Очень классно всё объяснили. Буду применять!

  • @tashkentcity3067
    @tashkentcity3067 Год назад

    it was really useful for me, thank you for content

  • @jinke5935
    @jinke5935 3 года назад +3

    Ох сколько ночей я плакал с этими а=b, b=t, t=a, решая задачи JS... А спред оператор прям вообще конфетка! И удобно читабелен. Спасибо за мастхэвное видео!

    • @vatakiller
      @vatakiller 3 года назад +1

      Потамуста ты осень умний. Это весь такх слозна - переставить цве переменых мистами. Ас нескалько насей не спал

    • @jinke5935
      @jinke5935 3 года назад

      @@vatakiller *здесь мем Петросяна*

    • @vatakiller
      @vatakiller 3 года назад

      @@jinke5935 и мемасы, и питрасяна любис. Настаясий праграмист, а не вайтисник там кахой та

  • @ПавлоТроценко-д2м
    @ПавлоТроценко-д2м 3 года назад

    Да, нужен разбор генераторов с примерами применения.
    Спасибо за полезный контент!

  • @sherlockholmes5395
    @sherlockholmes5395 3 года назад +1

    Супер, спасибо, хорошо зашло, укрепил знания, что то новое. Дзякуй вялiкi !!!

  • @MrColins710
    @MrColins710 3 года назад +1

    корисно, як завжди, дякую

  • @romankozhukhovskyi8370
    @romankozhukhovskyi8370 2 года назад

    Спасибо, полезно!)

  • @olehy5000
    @olehy5000 3 года назад

    Отличные сниппеты! В конце y=t =)

  • @violentiner
    @violentiner 3 года назад

    встроенный таймер прям круто, спасибо

  • @ДмитрийИгнатов-ф8г
    @ДмитрийИгнатов-ф8г 3 года назад +1

    Алекс, oбaжаю твои видосы, но.. 9 JS кодов 😄
    👍🏿

  • @МаксСагунёв
    @МаксСагунёв 3 года назад

    Потрясающе! Очень полезный материал

  • @denysivashchenko2080
    @denysivashchenko2080 3 года назад +20

    ждем урок по функциям генераторам )

    • @fuad2069
      @fuad2069 3 года назад +1

      Поддерживаю

    • @EugenKondratiev
      @EugenKondratiev 3 года назад +1

      Лучше по конкретным примерам где они удобнее чем любой другой функционал

  • @Игорь-ш3б2в
    @Игорь-ш3б2в 3 года назад +4

    Круто, спасибо!
    PS: Можно ускорить написание `console.log()` в vscode. Если начинать писать вместо `console`, ключевое слово `log`

    • @Indy_660
      @Indy_660 3 года назад +1

      аналогично в вебшторме, но потом ещё нажать таб

    • @mickkoch563
      @mickkoch563 3 года назад

      Александр знает про log. Видимо по привычке пишет console. Либо чтобы побольше комментариев написали по этому поводу для продвижения канала))

  • @yaroslav.baronin
    @yaroslav.baronin 3 года назад

    За console.time - спасибо :)) класс

  • @oldzas
    @oldzas 3 года назад

    Круто, такие уроки важны

  • @Giri-16108
    @Giri-16108 3 года назад

    Спасибо, ждём генераторы!

  • @alexbigar9769
    @alexbigar9769 3 года назад

    Спасибо! Очень интересное видео👍

  • @ivanbilous5500
    @ivanbilous5500 3 года назад

    Спасибо, как всегда оочень полезно!

  • @vatakiller
    @vatakiller 3 года назад

    Вау. Это так хруто. Я хацу бытьц таким зе умным хак и ти. Этех знаней мне типерь хватец на всю кареру. Узе саставил резюмэ и атправил в гоогле

  • @antDgt
    @antDgt 3 года назад

    Спасибо, классное видео.

  • @o_opedro4044
    @o_opedro4044 3 года назад

    Спс... Как всегда на высоте 👍

  • @Ceyhus
    @Ceyhus 3 года назад

    Spasibo!

  • @MaksimMelnik
    @MaksimMelnik 3 года назад

    #1 - во всём нужна золотая середина. Иногда удобно передать объект, но приходится следить за его структурой. Чаще же, удобнее передать 2-3 параметра и описать их через JSDoc.

  • @raff_m_d6971
    @raff_m_d6971 2 года назад

    спасибо

  • @Ireile
    @Ireile 3 года назад

    Отличные примеры! 👍🏻

  • @Алексей-с3я8е
    @Алексей-с3я8е 3 года назад

    Спасибо, полезное видео!

  • @borisn879
    @borisn879 3 года назад +4

    #1 с объектом arg тоже проблема - нужно знать, какие атрибуты он должен содержать. Т.е. все идет к классам, интерфейсам и нотациям, хинтингу ...

  • @mykhailostepanishchev6472
    @mykhailostepanishchev6472 3 года назад

    Спасибо, познавательно

  • @denysivashchenko2080
    @denysivashchenko2080 3 года назад +1

    супер!!! спасибо )

  • @YauhenRomeiko
    @YauhenRomeiko 3 года назад +1

    y = t
    Вроде ж так надо
    И по генераторам да, интересно

  • @_CryptoFunUA
    @_CryptoFunUA 3 года назад

    ты крут!

  • @vitamax3777
    @vitamax3777 3 года назад

    хороший энтузиазм!

  • @CzarOfScripts
    @CzarOfScripts 3 года назад +16

    #9
    Разве там не "y = t" должно быть?

    • @ioOmg
      @ioOmg 3 года назад +3

      да

  • @olduniverse9270
    @olduniverse9270 3 года назад +1

    Я бы посоветовал еще использовать perfomance.now() для измерения времени выполнения и не только.

  • @Hermes_TL
    @Hermes_TL 3 года назад +1

    Деструктивно из массива ещё можно по другому.
    const a = ['Name', 33];
    const [name, age] = a;
    // name - 'Name'
    // age - 33

  • @ihopeingod1
    @ihopeingod1 2 года назад

    🙏🏼

  • @adilb8652
    @adilb8652 3 года назад

    круто !)

  • @MyMy-fg6rt
    @MyMy-fg6rt 3 года назад

    Спасибо!

  • @rtidrivers
    @rtidrivers 3 года назад +2

    21:07 А может надо на 89 строке y=t ?
    Но вообще: автору респект!

  • @awenn2015
    @awenn2015 3 года назад

    1 пример, я обычно для этого деструктуризацию использую , суть та же

  • @deniskotov
    @deniskotov 3 года назад +1

    Код на букву "Г" - это Год) Что с английского переводится "Бог")) Так что я не г**нокодю, а люто бешено божу)

  • @pavel7930
    @pavel7930 3 года назад

    Крутяк!

  • @ВикторСергеевич-р7р

    Number("string") ???

  • @ВіталійШуманський
    @ВіталійШуманський 3 года назад

    Так консоль в браузере сама красиво и удобно форматируето объект, не нужно даже с JSON играть

  • @Сергей-э8о6м
    @Сергей-э8о6м 3 года назад

    7, 8 огонь.

  • @verstal
    @verstal 3 года назад

    Есть еще третий способ поменять местами числовые переменные, самый долгий, но без использования третей переменной. )
    Кстати второй способ на больших итерациях почти одинаково по времени с первым, но чаще проигрывает не на много.

  • @yummybunny7351
    @yummybunny7351 3 года назад

    0:40 Александр, какой программой вы пользуетесь, чтобы выравнивать окна? Win10 по умолчанию так не умеет.

    • @kirillzhosul
      @kirillzhosul 3 года назад

      Win+стрелки не хватает?

    • @yummybunny7351
      @yummybunny7351 3 года назад

      @@kirillzhosul на видео используется не горячие клавиши, а мышь - при изменении размера одного окна сразу меняется другое. Про Win+стрелки я знаю - это не оно.

    • @yummybunny7351
      @yummybunny7351 3 года назад

      @@kirillzhosul хотя может и оно, но, вроде как, на видео только мышью

    • @kirillzhosul
      @kirillzhosul 3 года назад

      @@yummybunny7351 я в том плане что обычно стрелок хватает, делить можно на 4 части экран(не 4 в ряд, в квадрат(2 сверху, 2 снизу))

    • @ДмитрийЗайцев-ц4н
      @ДмитрийЗайцев-ц4н 3 года назад

      Умеет. Берёшь окно мышкой и перетаскиваешь в правый или левый конец экрана. Окно само у вас занимает половину экрана. А на другой половине экрана появляется выбор другово окна. Выбираете окно, и регулируете их ширину на стыке двух окон.

  • @alexkruk4683
    @alexkruk4683 3 года назад

    Почти все новое

  • @AndrianoVer
    @AndrianoVer 3 года назад

    А зачем в последней функции let t = x? Подскажите плиз.

    • @vlad_khrychov
      @vlad_khrychov 3 года назад

      Чтобы сохранить предыдущее значение из икса. Иначе после того, как ты запишешь в x значение из y, потеряется доступ к стаорому значнию х.

    • @volodymyrzakolodyazhny
      @volodymyrzakolodyazhny 3 года назад

      На видео - опечатка.

  • @lalapta
    @lalapta 3 года назад

    Как перевести must have на русский?

  • @aiahz
    @aiahz 3 года назад +1

    В четвертом примере за выбрасывание undefined по рукам бить надо. По-хорошому там надо писать try catch с логированием ошибок.
    Насчёт 9го способа не соглашусь, что нужно писать цикл. Первый вариант гораздо лучше, так как более читабелен, а погоня за 5ms может привести к очень плохим последствиям.
    В высококровном программировании джунам не стоит париться за байтики.

  • @timnorov
    @timnorov 3 года назад +3

    Всегда отличные уроки. Спасибо большое, но пожалуйста, не говорите "маст хейв", это слух режет. Правильно говорить "маст хэв"

  • @AndreyVictorovichhh
    @AndreyVictorovichhh 3 года назад

    Очень познавательный урок, но не понял где были коды, и куда их вставлять.
    Пришел на работу, попросили девятый код ввести но как оказалось девятого кода нет если мы считаем с нуля...

  • @EvgenOl
    @EvgenOl 3 года назад

    5:33 а что мешало вывести в консоль сразу объект? Он бы вообще имел в консоли раскрывающиеся списки и просмотреть его было бы удобнее чем любую строку. Зачем это чесание уха пяткой?

  • @GG-pc3ow
    @GG-pc3ow 3 года назад +1

    Ноль дизлайков хорошая работа Олег!(я знаю что автора зовут Александр)

  • @andriichornyi9143
    @andriichornyi9143 3 года назад +2

    Пример #9: при увеличении колличества итераций цикла на x10: ex 1: 142.493896484375 ms, ex 2: 94.2109375 ms. При ста миллионах: ex 1: 412.15673828125 ms, ex 2: 425.421142578125 ms (второй алгоритм показывает медленную работу по сравнению с первым. А при миллиарде: ex 1: 3575.089111328125 ms, ex 2: 3840.5859375 ms

  • @SomeChannel-y9m
    @SomeChannel-y9m 3 года назад

    Кодов? Может типичных для жиэса решений? Задачи уровня 7-8 куи на кодварсах, некоторые из которых ну очень странные, особенно с объектом Number который при его использовании превращает примитив в объект... Это уровень даже не трейни

  • @k0dzer0
    @k0dzer0 3 года назад

    Да в 4 пункте поняли, что украли из опционалов языка swift походу логику, только там возвращается nil, типа как в PHP null.))

  • @mikaelgevorgyan4521
    @mikaelgevorgyan4521 3 года назад

    У меня есть очень большой вопрос=))) по поводу кликов!!!

  • @yogalenovo8262
    @yogalenovo8262 Год назад

    01:15

  • @nouchance
    @nouchance 3 года назад

    Classic'a Janr'a

  • @denisbielishev
    @denisbielishev 3 года назад +6

    Зачем такая сложность в 5 совете?! Можно сделать [a,b] = .....

    • @plex4ever
      @plex4ever 3 года назад +1

      посмотрел в коменты что бы наити это

  • @user-of1px9tj3c
    @user-of1px9tj3c 3 года назад +1

    первый же пример,- чтобы понять, что нужно передавать в функцию, просто прочитать сигнатуру не достаточно, нужно вычитывать весь код функции, и хорошо когда она из 2 строк, а не 450 к примеру, а если таких функйий 150+ ...это лютый треш когда такой код нужно прочитать-разобраться...дальше не смотрел...

    • @aiahz
      @aiahz 3 года назад +2

      Не пиши пожалуйста функции в 450 строк, мне потом больно это читать, опыт подсказывает, что одного экрана (около 40 строк) вполне достаточно)

    • @user-of1px9tj3c
      @user-of1px9tj3c 3 года назад

      @@aiahz чукча не писатель, чукча - читатель

    • @aiahz
      @aiahz 3 года назад

      @@user-of1px9tj3c если твой код млжешь прочитать только ты, то твой код говно.

  • @SergeyPryada
    @SergeyPryada 3 года назад

    2:53 чё то дартом запахло

  • @Minty290
    @Minty290 3 года назад +1

    Капец ты дышишь, как Дарт Вейдер)

  • @gromovdenis7
    @gromovdenis7 3 года назад +1

    Второй)

  • @alexeyilin1527
    @alexeyilin1527 3 года назад

    Что за фетиш на слово function, никогда не использовал)

    • @eduardkolesnik5819
      @eduardkolesnik5819 3 года назад +1

      Это не фетиш, а нормальное определение функций. Кроме существенной технической разницы их ещё и читать удобнее в стриме кода.

    • @alexeyilin1527
      @alexeyilin1527 3 года назад

      @@eduardkolesnik5819 а стрелочные функции не норм?)

    • @eduardkolesnik5819
      @eduardkolesnik5819 3 года назад +1

      ​@@alexeyilin1527 В стрелочных функциях отсутствует половина функционала обычных. На то есть причины. Они и создавались чтоб использовать их в небольших выражениях.

    • @XTANCE
      @XTANCE 3 года назад +1

      Я ни те, ни те функции не использую. Циклы не нужны. Массивы, объекты тоже. Принципиально.

    • @alexeyilin1527
      @alexeyilin1527 3 года назад

      @@XTANCE как это, принципиально?)

  • @eugenem7288
    @eugenem7288 3 года назад +1

    Первый)

    • @eugenem7288
      @eugenem7288 3 года назад

      @catsapp animation нулевым был автор

  • @CzarOfScripts
    @CzarOfScripts 3 года назад +1

    Как же бесит, в одном месте пробел не поставит, в другом поставит.. (arg, null, 2) (data : [...]). Это так на глаз бросается и думаешь "делается на от...".

  • @evgenysokolov7866
    @evgenysokolov7866 3 года назад

    Очень сочувствую тем кто смотрит эти видео и пытается по ним учиться

  • @Kriptio
    @Kriptio 3 года назад +1

    ждем урок по функциям генераторам )