Функции в JavaScript. Область видимости. Параметры и аргументы. Значения по умолчанию. Return.

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

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

  • @AleksanderLamkov
    @AleksanderLamkov  9 месяцев назад +2

    📌 Друзья, в телеграмме у нас есть отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь:
    💬 t.me/friendlyFrontendChat
    Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂

  • @alone3684
    @alone3684 9 месяцев назад +2

    Каждое видео с нетерпением жду!

  • @ВиталийШишкин-з3ш
    @ВиталийШишкин-з3ш 3 месяца назад +7

    Из тех кого я смотрел, Вы, пока что, единственный кто дает четкое разграничение между параметрами и аргументами! Браво, жаль нельзя подписаться на канал еще раз!

  • @an__pir
    @an__pir 9 месяцев назад +2

    Спасибо, за ваше желание помочь новичкам в JS.

  • @aton_goldenstern
    @aton_goldenstern 9 месяцев назад +11

    респект за продуктивность и качественный контент) предложение: подавать материал помедленнее, приходится тебя на 0.75 ставить. Хотя может я один такой) В любом случае ты молодец, что тратишь столько времени и усилий в создание обучающих материалов, это вызывает в любом случае только уважение)

    • @Александр-ю6ж1щ
      @Александр-ю6ж1щ 9 месяцев назад +2

      ты такой не один) я практически всех кого смотрю по урокам сразу ставлю на 0.75 )) устал перематывать)

    • @ЯшаБаратов
      @ЯшаБаратов 5 месяцев назад

      Я ставил 0.75 и думал что торможу Спасибо поддержал

  • @smotritelyoutube
    @smotritelyoutube 9 месяцев назад +2

    Супер как всегда!

  • @ВиталийШишкин-з3ш
    @ВиталийШишкин-з3ш 3 месяца назад +2

    Я не могу поставить лайк ДВА раза, но могу написать два поста в поддержку канала!

  • @виртуоз_ру
    @виртуоз_ру 9 месяцев назад +2

    Чётко, ясно и всё по делу. Красава 👍

  • @Jbnvn
    @Jbnvn 9 месяцев назад +1

    Про области видимости хорошее объяснение, спасибо

  • @АлександрСальников-с2ж
    @АлександрСальников-с2ж 5 месяцев назад +1

    Коммент в поддержку, спасибо за урок!

  • @yaroslavlebediev
    @yaroslavlebediev 2 месяца назад +1

    Функции мне очень напоминают миксини своими параметрами аргументами и значениями по умолчанию

  • @egorsparr0w619
    @egorsparr0w619 5 месяцев назад +1

    Спасибо,Александр! Очень нравятся ваши уроки. Пересмотрел курсы HTML / CSS. Лендинги с вами поделал, после один сам сделал.

  • @Дмитрий-л3м1н
    @Дмитрий-л3м1н 3 месяца назад +1

    Спасибо , очень здорово объясняешь , надеюсь получится дойти до конца курса

  • @ByTheWay12
    @ByTheWay12 5 месяцев назад

    Спасибо за полезный урок! Когда начал смотреть видео, думал что все тут мне известно, но не знал как можно было пропустить передачу аргумента, если он уже указан по умолчанию, оказывается через undefined можно)

  • @mdayzz
    @mdayzz 9 месяцев назад +1

    Спасибо за великолепные уроки! ♥

  • @parabletraveller9855
    @parabletraveller9855 25 дней назад

    Вопрос: "Упразднит ли TS или установка значения параметру, проверку входных данных, в функции из последнего примера?"
    P.S. Алексанлр, с 08:20 по 08:25 несоответствие переопределения переменной, между текстовым(фактическим) вариантом и заявленным голосовым, спасибо!

    • @AleksanderLamkov
      @AleksanderLamkov  25 дней назад +1

      На счет момента на 08:20 - там ведь на монтаже добавил заплатку, мол, что я ошибся :)

    • @AleksanderLamkov
      @AleksanderLamkov  25 дней назад +1

      А на счет вопроса - TS поможет, конечно, если настроен строго (а не только предупреждение в терминале выводит).

  • @Ruslan_Emurlaev
    @Ruslan_Emurlaev 7 месяцев назад +1

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

  • @AlekDyaI
    @AlekDyaI 9 месяцев назад +3

    спасибо

  • @dians1s
    @dians1s 5 месяцев назад +1

    17:10 тут небольшая ошибочка в диапазоне от 18 ДО 125* включительно

  • @izi.art.youtube
    @izi.art.youtube 9 месяцев назад +2

    Полезный видеоролик
    Щас практикую джаваскрипт очень даже помогли 🤌
    можете ли вы снять видео о том как выложить в интернет веб сайты или приложении
    Спасибо 🙏

    • @AleksanderLamkov
      @AleksanderLamkov  9 месяцев назад +3

      Привет! Про деплой сайта - хорошая идея, спасибо!

  • @n1zych
    @n1zych 9 месяцев назад +2

    👍

  • @mouri_san
    @mouri_san 4 месяца назад +1

    круто, спасибо!

  • @biscvie
    @biscvie 9 месяцев назад +1

    Спасибо!

  • @OkazakiTomoyasan
    @OkazakiTomoyasan 9 месяцев назад +2

    💪

  • @yurka_yaponchik
    @yurka_yaponchik Месяц назад

    Почему я, вроде, в точности скопировал Ваш код (7:51), но с двоеточьями у меня не работает (редактор кода на них ругается), а если использовать оператор равенства то, получается результат как на видео? Если это происходит из-за моей ошибки, а не из-за новой версии JS или настроек VS Code то, если хотите, можете не подсказывать, сам не внимательный, но буду благодарен если подскажите в чём проблема.

    • @AleksanderLamkov
      @AleksanderLamkov  Месяц назад +1

      Извини, не понимаю проблемы. При чем тут двоеточие?
      Или ты пытаешься вводить текст с серых подсказок моей IDE?
      Все эти
      message:
      count:
      в последних строках - это не код, который нужно вводить, это автоматически появляющиеся подсказки.

    • @yurka_yaponchik
      @yurka_yaponchik Месяц назад

      @@AleksanderLamkov, дв... я пытался вводить текст с серых подсказок Вашего IDE. Теперь я понял, что можно просто писать аргументы на местах переменных без самих переменных. Большое спасибо за помощь и за Виши обучающие видео!

  • @nomer201
    @nomer201 4 месяца назад +1

    Спасибо

  • @safespace2399
    @safespace2399 Месяц назад +1

    Лайк! Пасля мовы Python даволі проста вучыць JavaScript

  • @AlexAlex-bp9il
    @AlexAlex-bp9il 8 месяцев назад +1

    А в vscode есть какое-нибудь расширение для подписи типов данных, как в вебсторме ?

    • @AleksanderLamkov
      @AleksanderLamkov  8 месяцев назад +2

      Привет! Вручную можно включить в settings.json через эту настройку:
      "editor.inlayHints.enabled": "on"

    • @AlexAlex-bp9il
      @AlexAlex-bp9il 8 месяцев назад

      @@AleksanderLamkov 👍👍

  • @111atlus
    @111atlus 7 месяцев назад +1

    И еще раз благодарочка! Спасибо! :)

  • @svitboomer8840
    @svitboomer8840 9 месяцев назад +2

    А я чет не понял?! А почему никто не написал, что у Саши новый фон?
    Лично я заметил книги от Робина Мартина: "Чистый код" (вторая справа) и, возможно, "Идеальная работа (первая справа). Программирование без прикрас". Другие две: "Идеальный программист" и "Чистая архитектура". Как твоё мнение, Саш, про "Чистый код", ходят спорные мнения, хотя мне кажется, что концепции там заложены правильные, хоть код чуток и устарел, но это посредственно.
    И стул то новый, ля красивый. Интересно, что в черной коробке 🤔Моя ставка - заготовки ES 2025

    • @AleksanderLamkov
      @AleksanderLamkov  9 месяцев назад

      Да, там все 4 желтые книги Роберта Мартина, все хороши! Чистый код не устареет, там по полочкам основы основ даны, так что смело можно брать и просвещаться 😄
      P. S. Из-за экспериментов со светом бежевая коробка превратилась в черную 😮

  • @ValeryValodzka
    @ValeryValodzka 6 дней назад

    Хотелось бы проект написат на JS для закрепленя

  • @Taranenkosemen
    @Taranenkosemen 4 месяца назад

    А можно пожалуйста название плагина, который показывает имена аргументов при вызове функции
    прикольная штука, лишней не будет))

    • @AleksanderLamkov
      @AleksanderLamkov  4 месяца назад

      В WebStorm это встроенный функционал. Для VSCode, возможно, действительно есть плагин. Спроси в нашем чате, тебе наверняка помогут:
      t.me/friendlyFrontendChat

    • @Taranenkosemen
      @Taranenkosemen 4 месяца назад

      @@AleksanderLamkov Благодарю 🤝🏻

  • @СекретныйКот-и1и
    @СекретныйКот-и1и 9 месяцев назад

    Возраст не может быть меньше 0 а меньше 1 - может. Хотя есть ньюанс - в некоторых странах возраст считают от зачатия.

  • @MuhamedErgeshov
    @MuhamedErgeshov 6 месяцев назад

    Pochemu ya stavlu $ u menya vivodit kak strochniy kak obichniy?? Podskazhite pozhaluista

    • @AleksanderLamkov
      @AleksanderLamkov  6 месяцев назад

      Извини, я тебя не понял.

    • @ByTheWay12
      @ByTheWay12 5 месяцев назад +1

      Потому что нужно указывать через ` ` (обратное ударение), а не через одиночные кавычки ' ' и внутри обратного ударения нужно написать ${ а тут уже нужную математическую операцию, переменную и т.д }

  • @M4es1ro
    @M4es1ro 8 месяцев назад

    А зачем в дочерних функциях каждый раз объявлять message через const? Нелья ли просто написать что message=2 или message =3?

    • @AleksanderLamkov
      @AleksanderLamkov  8 месяцев назад

      Привет! Это сделано для примера, чтобы показать механику работы области видимости. Мы каждый раз в каждой области видимости объявляем новую переменную с одним и тем же названием.
      Если бы переменные были объявлены в одной области видимости:
      const a = 1
      const b = 2
      …то JS выдавал бы ошибку.

    • @M4es1ro
      @M4es1ro 8 месяцев назад

      @@AleksanderLamkov я понял что вы хотите показать механику работы области видимости. Но разве дочерние функции не видят message? Почему в них просто не перезаписать данные?

    • @AleksanderLamkov
      @AleksanderLamkov  8 месяцев назад +1

      Видят, но в том то и дело, что во внутренней области видимости мы не переиспользуем существующую в родительской области видимости переменную, а создаем новую, с тем же именем.
      Если не писать ключевое слово const перед именами переменнных во внутренних областях видимости, то вообще будет ошибка, т. к. фактически мы будем пытаться переопределить значение константной переменной, которая объявлена в верхней области видимости.
      Если для первой объявленной переменной message в верхней области видимости поменять ключевое слово const на let, а затем для message во внутренних областях видимости убрать ключевые слова const в начале инструкций, то код будет рабочим, мы каждый раз будем переопределять одну и ту же переменную, которая объявлена на самой верхней области видимости.

    • @M4es1ro
      @M4es1ro 8 месяцев назад

      @@AleksanderLamkov а блин, const же нельзя перезаписывать в отличии от let. Тогда возникает вопрос как мы перезвписываем в о внутренних областях? Получается мы создаем локальную переменную внутри? Странно работает всё конечно.

    • @AleksanderLamkov
      @AleksanderLamkov  8 месяцев назад

      Да, всё верно, мы всякий раз создаем новую локальную переменную, доступную в рамках области видимости, ограниченной фигурными скобками {}.

  • @miwanjaGR
    @miwanjaGR 9 месяцев назад

    если вдруг дальше будет TS или что-то из фреймворков, надо на доску тоже выводить)

    • @AleksanderLamkov
      @AleksanderLamkov  9 месяцев назад +1

      Обязательно! На то этот девайс и приобрел :)

  • @videoSSS_741
    @videoSSS_741 6 месяцев назад +1

    Спасиб

  • @demimurych1
    @demimurych1 Месяц назад

    то что автор описал в качестве областей видимости, является его персональной/лично выдуманной аналогиеи и не отвечает официальной спецификации языка.

    • @AleksanderLamkov
      @AleksanderLamkov  Месяц назад +1

      Не спорю. Факт. Кому нужен язык не для применения его во фронтенде - курсы на ютубе не подойдут, лучше сразу обращаться к первоисточнику (к спецификации).

  • @m.g.0416
    @m.g.0416 9 месяцев назад

    Александр, я так понимаю, вы senior в разработке? А почему решили делать контент 'разработка с ноля'? Я понимаю, что такие видео делать проще, но таких видео в просторах интернета превеликое множество. Почему не более сложные концепции?

    • @AleksanderLamkov
      @AleksanderLamkov  9 месяцев назад +6

      Привет!
      Грейд грейду рознь, поэтому предпочитаю не вешать на себя ярлык с «уровнем» :)
      Создание этого ютуб-канала - прямое продолжение моего предыдущего занятия.
      Ранее я полтора года менторил и консультировал разработчиков начального уровня. Однажды пришло понимание, что эта деятельность не масштабируется (количество проводимых часовых сессий в сутки ограничено количеством свободных от работы, сна и личной жизни часов). С того момента решил делиться своей экспертизой в более масштабном ключе - через ютуб. Ну и контент поначалу я захотел делать именно для новичков.
      Уровень сложности материалов плавно повышается, чтобы зрителям было проще потреблять информацию. От простого к сложному - в этом и заключается концепция моего контента.
      Ну а ещё причина такой сложности моего контента - я не считаю, что по базе фронтенда на ютубе достаточное количество актуальных качественных материалов.

    • @alexb.2616
      @alexb.2616 9 месяцев назад

      "я не считаю, что по базе фронтенда на ютубе достаточное количество актуальных качественных материалов" - согласен.
      И каждый раз - тема уже знакома и используется, а всё равно что-то новое из ролика узнаёшь. Саша, спасибо!

  • @Ринат-н1т
    @Ринат-н1т 2 месяца назад

    Здравствуйте, Александр! А зачем нам писать, например, console.log(someFunction(a, b)), если в теле функции итак стоит return, которые вернет нам значение функции при вызове и все это напечатается в консоль?

    • @AleksanderLamkov
      @AleksanderLamkov  2 месяца назад

      Но в консоль ничего не напечатается, если в коде не будет вызова инструкции console.log.

    • @Ринат-н1т
      @Ринат-н1т 2 месяца назад

      @@AleksanderLamkov понял, спасибо