JavaScript заметки
Открыть в Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Больше7 368
Подписчики
-124 часа
-167 дней
-5730 дней
Архив постов
7 368
Глобальный catch
Давайте представим, что произошла фатальная ошибка (программная или что-то ещё ужасное) снаружи
try..catch, и скрипт упал.
Существует ли способ отреагировать на такие ситуации?
Можно залогировать ошибку, показать что-то пользователю (обычно они не видят сообщение об ошибке) и т.д.
В браузере мы можем присвоить функцию специальному свойству window.onerror, которая будет вызвана в случае необработанной ошибки.
Синтаксис на картинке выше.
- message
Сообщение об ошибке.
- url
URL скрипта, в котором произошла ошибка.
- line, col
Номера строки и столбца, в которых произошла ошибка.
- error
Объект ошибки.
Роль глобального обработчика window.onerror обычно заключается не в восстановлении выполнения скрипта – это скорее всего невозможно в случае программной ошибки, а в отправке сообщения об ошибке разработчикам.
#глобальный_catch #обработка_ошибок7 368
👆Этот хомяк бежит на чистом CSS
Код хомяка и всё про современный фронтенд смотри на канале наших друзей
7 368
Прокрутка
Встроенное свойство «length» содержит количество параметров функции в её объявлении.
Событие прокрутки
scroll позволяет реагировать на прокрутку страницы или элемента.
Есть много хороших вещей, которые при этом можно сделать.
Например:
- Показать/скрыть дополнительные элементы управления или информацию, основываясь на том, в какой части документа находится пользователь.
- Подгрузить данные, когда пользователь прокручивает страницу вниз до конца.
Вот картинке выше функция для отображения текущей прокрутки.
#прокрутка #интерфейсные_события7 368
Фронтенд? Сейчас объясню!
На канале «Будни верстальщика» ежедневно выкладываются лучшие статьи и примеры по вёрстке и программированию, включая личный опыт автора.
Не пропусти всё самое интересное в мире фронтенда!
7 368
Fetch
JavaScript может отправлять сетевые запросы на сервер и подгружать новую информацию по мере необходимости.
Например, мы можем использовать сетевой запрос, чтобы:
- Отправить заказ
- Загрузить информацию о пользователе
- Запросить последние обновления с сервера
- …и т.п.
Метод
fetch() — современный и очень мощный, поэтому начнём с него. Он не поддерживается старыми (можно использовать полифил), но поддерживается всеми современными браузерами.
Базовый синтаксис:
- url – URL для отправки запроса.
- options – дополнительные параметры: метод, заголовки и так далее.
Без options это простой GET-запрос, скачивающий содержимое по адресу url.
#fetch #сетевые_запросы7 368
💡 JavaScript - канал, в котором админ рассказывает сложный javascript человеческим языком.
Подписывайся, если хочешь прокачать JS и повысить свой чек за работу - t.me/simple_js
7 368
Хочешь постоянно практиковаться в решении задач и получать подробное объяснение?
Тогда подписывайся на JavaScript | Тесты для проверки знаний! Здесь ты найдешь огромное количество задач по JS с подробными объяснениями! Идеально подойдёт для тех разработчиков, которые хотят постоянно улучшать свои знания и развиваться вширь.
Можно почитать пока компилируется проект :)
Переходи и развивайся ежедневно! 👇
7 368
Symbol.iterator
Symbol.iterator - специальный встроенный
Symbol , который позволяет сделать объект итерируемым.
Например, у нас есть объект range, который представляет собой диапазон чисел. Чтобы сделать range итерируемым (и позволить for..of работать с ним), нам нужно добавить в объект метод с именем Symbol.iterator.
- Когда цикл for..of запускается, он вызывает этот метод один раз (или выдаёт ошибку, если метод не найден). Этот метод должен вернуть итератор – объект с методом next.
- Дальше for..of работает только с этим возвращённым объектом.
- Когда for..of хочет получить следующее значение, он вызывает метод next() этого объекта.
- Результат вызова next() должен иметь вид {done: Boolean, value: any}, где done=true означает, что итерация закончена, в противном случае value содержит очередное значение.
#перебираемые_объекты #symbol_iterator7 368
Set
Объект Set – это особый вид коллекции: «множество» значений (без ключей), где каждое значение может появляться только один раз.
Его основные методы это:
-
new Set(iterable) – создаёт Set, и если в качестве аргумента был предоставлен итерируемый объект (обычно это массив), то копирует его значения в новый Set.
- set.add(value) – добавляет значение (если оно уже есть, то ничего не делает), возвращает тот же объект set.
- set.delete(value) – удаляет значение, возвращает true, если value было в множестве на момент вызова, иначе false.
- set.has(value) – возвращает true, если значение присутствует в множестве, иначе false.
- set.clear() – удаляет все имеющиеся значения.
- set.size – возвращает количество элементов в множестве.
Основная «изюминка» – это то, что при повторных вызовах set.add() с одним и тем же значением ничего не происходит, за счёт этого как раз и получается, что каждое значение появляется один раз.
#set #словари7 368
True Figma - канал, где публикуется макеты Figma для практики вёрстки.
Макеты для вёрcтки - > @true_figma
7 368
У стрелочных функций нет «this»
Стрелочные функции особенные: у них нет своего «собственного»
this.
Если мы используем this внутри стрелочной функции, то его значение берётся из внешней «нормальной» функции.
Например, на картинке выше arrow() использует значение this из внешнего метода user.sayHi().
Это является особенностью стрелочных функций. Они полезны, когда мы на самом деле не хотим иметь отдельное значение this, а хотим брать его из внешнего контекста.
#this #стрелочные_функции7 368
Прокачивай навыки JavaScript решая практические тесты!
На нашем втором канале JavaScript тесты каждый день выходят викторины на знание особенностей языка.
Подпишись, чтобы не потерять 👇
#javascript #тесты
7 368
Прокачивай свой технический английский без больших усилий, уделяя 5 минут в день!
На этом канале регулярно публикуют самые популярные слова и выражения из мира IT.
Подойдет всем IT-специалистам, которые хотят без труда читать документацию на английском и свободно общаться с иностранными заказчиками.
Подписывайся на @enforit и качай свой инглиш, пока компилируется проект👌
7 368
DOM-дерево
Основой HTML-документа являются теги.
В соответствии с объектной моделью документа («Document Object Model», коротко DOM), каждый HTML-тег является объектом. Вложенные теги являются «детьми» родительского элемента. Текст, который находится внутри тега, также является объектом.
Все эти объекты доступны при помощи JavaScript, мы можем использовать их для изменения страницы.
Например,
document.body – объект для тега <body>.
Если запустить код на картинке выше, то <body> станет красным на 3 секунды:
#DOM #документ7 368
Как выделиться среди других верстальщиков и забрать заказ себе?
Лучший способ — наполнить свое портфолио настоящими работами, а не учебными!
Макеты для вёрстки сайтов - канал, где собраны уникальные примеры реальных макетов, которые заказчики присылают на вёрстку.
Присоединяйся к @uniquetemplates и строй свое сильное портфолио уже сегодня!
7 368
new.target
Используя специальное свойство
new.target внутри функции, мы можем проверить, вызвана ли функция при помощи оператора new или без него.
В случае, если функция вызвана при помощи new, то в new.target будет сама функция, в противном случае undefined.
Это можно использовать, чтобы отличить обычный вызов от вызова «в режиме конструктора».
Такой подход иногда используется в библиотеках для создания более гибкого синтаксиса, который позволяет разработчикам вызывать функции при помощи оператора new или без него.
#new_target #объекты7 368
Имена переменных
В JavaScript есть два ограничения, касающиеся имён переменных:
- Имя переменной должно содержать только буквы, цифры или символы
$ и _.
- Первый символ не должен быть цифрой.
Если имя содержит несколько слов, обычно используется верблюжья нотация, то есть, слова следуют одно за другим, где каждое следующее слово начинается с заглавной буквы: myVeryLongName.
Самое интересное – знак доллара '$' и подчёркивание '_' также можно использовать в названиях.
Это обычные символы, как и буквы, без какого-либо особого значения.
Важно помнить!!! Регистр имеет значение. Переменные с именами apple и AppLE – это две разные переменные.
#имена_переменных #основы7 368
@davidobryakov — фуллстак-разработчик (Django + Vue / Node + Vue), преподает в Университете ИТМО (видео-лекции есть на личном YouTube-канале).
В блоге рассказывает о современной веб-разработке: важных событиях сферы, интересных статьях и находках среди открытых решений.
