JavaScript заметки
Open in Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Show more7 737
Subscribers
-324 hours
-77 days
-5430 days
Posts Archive
7 736
Кавычки
В JavaScript есть разные типы кавычек.
Строку можно создать с помощью одинарных, двойных либо обратных кавычек.
Одинарные и двойные кавычки работают, по сути, одинаково, а если использовать обратные кавычки, то в такую строку мы сможем вставлять произвольные выражения, обернув их в
${…}.
Ещё одно преимущество обратных кавычек — они могут занимать более одной строки, как на картинке выше.
Одинарные и двойные кавычки в языке с незапамятных времён: тогда потребность в многострочных строках не учитывалась. Что касается обратных кавычек, они появились существенно позже, и поэтому они гибче.
#кавычки #строки7 736
Изучаешь мир frontend и все кажется слишком сложным? Не знаешь, за что хвататься?
Расслабься, все уже придумано за тебя. WEB-dev | Веб-разработка - канал, на котором собрано много интересного из мира веб-разработки. Хочешь узнать, какие факторы влияют на скорость загрузки сайта? А как правильно выстроить изучение JS? Может тебе нужны полезные генераторы или примеры готового кода?
Все это есть на канале WEB-dev | Веб-разработка. Переходи по ссылке и подписывайся, чтобы ничего не пропустить 😉
7 736
innerHTML: содержимое элемента
Свойство
innerHTML позволяет получить HTML-содержимое элемента в виде строки.
Мы также можем изменять его. Это один из самых мощных способов менять содержимое на странице.
На картинке выше содержимое document.body, скрипт полностью заменяет его.
#dom #браузер7 736
📚Теперь JavaScript можно легко выучить по гайдам в картинках.
Первый канал с гайдами по JavaScript — @guides_js
7 736
Рекурсия
Рекурсия – это приём программирования, полезный в ситуациях, когда задача может быть разделена на несколько аналогичных, но простых задач.
В процессе выполнения задачи в теле функции могут быть вызваны другие функции для выполнения подзадач. Частный случай подвызова – когда функция вызывает сама себя. Это как раз и называется рекурсией.
В качестве примера возьмем функцию
pow(x, n), которая возводит x в натуральную степень n.
Иначе говоря, умножает x на само себя n раз.
На картинке выше когда функция pow(x, n) вызывается, исполнение делится на две ветви:
- Если n == 1, тогда всё просто. Эта ветвь называется базой рекурсии, потому что сразу же приводит к очевидному результату: pow(x, 1) равно x.
- Мы можем представить pow(x, n) в виде: x * pow(x, n - 1).
Эта ветвь – шаг рекурсии: мы сводим задачу к более простому действию (умножение на x) и более простой аналогичной задаче (pow с меньшим n).
Функция pow рекурсивно вызывает саму себя до n == 1.
#рекурсия #функции7 736
Как стать классным web разработчиком?
Технологии не стоят на месте и погоня за ними забирает много времени и сил.
FrontEndDev поможет тебе освоить web разработку и писать приложения как профессионал.
Здесь собраны:
▫️фишки и тонкости JS / TS / NodeJS / CSS;
▫️лучшие практики по написанию эффективного кода;
▫️библиотеки, упрощающие разработку;
▫️уроки по языкам программирования и фреймворкам.
Становись профи вместе с FrontEndDev!
7 736
Флаги свойств
Помимо значения
value, свойства объекта имеют три специальных атрибута (так называемые «флаги»).
writable – если true, свойство можно изменить, иначе оно только для чтения.
enumerable – если true, свойство перечисляется в циклах, в противном случае циклы его игнорируют.
configurable – если true, свойство можно удалить, а эти атрибуты можно изменять, иначе этого делать нельзя.
Обычно они скрыты. Когда мы создаём свойство «обычным способом», все они имеют значение true.
Но мы можем изменить их в любое время.
Метод Object.getOwnPropertyDescriptor позволяет получить полную информацию о свойстве.
Синтаксис можете увидеть на картинке выше.
- obj
Объект, из которого мы получаем информацию.
- propertyName
Имя свойства.
Возвращаемое значение – это объект, так называемый «дескриптор свойства»: он содержит значение свойства и все его флаги.
#флаги_свойств #объекты7 736
Профессия «Фронтенд-разработчик» в школе Хекслет.
С нуля. За 8 месяцев. От 6230 ₽/месяц.
Оставьте заявку. Когда, если не сейчас: https://bit.ly/3FsgTeU
7 736
Проверка isFinite и isNaN
Это специальные числовые значения:
-
Infinity — особенное численное значение, которое ведёт себя в точности как математическая бесконечность ∞.
- NaN представляет ошибку.
Эти числовые значения принадлежат типу number, но они не являются «обычными» числами, поэтому есть функции для их проверки:
- isNaN(value) преобразует значение в число и проверяет является ли оно NaN.
Нужна ли нам эта функция? Разве не можем ли мы просто сравнить === NaN? К сожалению, нет.
Значение NaN уникально тем, что оно не является равным ни чему другому, даже самому себе.
- isFinite(value) преобразует аргумент в число и возвращает true, если оно является обычным числом, т.е. не NaN/Infinity.
#isFinite #isNaN7 736
GIT — первая и самая крупная библиотека полезных сервисов в Telegram 🚀
Более 900 уникальных онлайн-инструментов для твоей работы!
Подпишись, пригодится: @gitservices
7 736
Внутреннее устройство массива
Массив – это особый подвид объектов.
Квадратные скобки, используемые для того, чтобы получить доступ к свойству arr[0] – это по сути обычный синтаксис доступа по ключу, как obj[key], где в роли obj у нас arr, а в качестве ключа – числовой индекс.
Массивы расширяют объекты, так как предусматривают специальные методы для работы с упорядоченными коллекциями данных, а также свойство length.
Но в основе всё равно лежит объект.
Следует помнить, что в JavaScript существует 8 основных типов данных.
Массив является объектом и, следовательно, ведёт себя как объект.
Но то, что действительно делает массивы особенными – это их внутреннее представление.
Движок JavaScript старается хранить элементы массива в непрерывной области памяти, один за другим.
#массив #внутреннее_устройство_массива
7 736
На канале ProgNote вы найдёте много статей на тему Web-разработки, операционных системах и в целом о программирование в разных сферах.
Ещё имеются интересные учебники для изучения различных языков и фреймворков, например таких, как Python, PHP, и JavaScript с Express.js, а на данный момент готовиться учебник по Django.
Также периодически выходят новости из мира IT, и в раз неделю выкладывают интересные книги и какие-нибудь JS или HTML скрипты, или PSD, Figma макеты.
Поэтому подписываетесь на канал ProgNote, и начинаете изучать программирование прямо сейчас.
7 736
Синтаксис new Function
Существует ещё один вариант объявлять функции. Он используется крайне редко, но иногда другого решения не найти.
Функция создаётся с заданными аргументами
arg1...argN и телом functionBody.
Главное отличие от других способов объявления функции, которые были рассмотрены ранее, заключается в том, что функция создаётся полностью «на лету» из строки, переданной во время выполнения.
new Function позволяет превратить любую строку в функцию. Например, можно получить новую функцию с сервера и затем выполнить её.
Это используется в очень специфических случаях, например, когда мы получаем код с сервера для динамической компиляции функции из шаблона, в сложных веб-приложениях.
#функции #new_function7 736
Синтаксис new Function
Существует ещё один вариант объявлять функции. Он используется крайне редко, но иногда другого решения не найти.
Функция создаётся с заданными аргументами
arg1...argN и телом functionBody.
Главное отличие от других способов объявления функции, которые были рассмотрены ранее, заключается в том, что функция создаётся полностью «на лету» из строки, переданной во время выполнения.
new Function позволяет превратить любую строку в функцию. Например, можно получить новую функцию с сервера и затем выполнить её.
Это используется в очень специфических случаях, например, когда мы получаем код с сервера для динамической компиляции функции из шаблона, в сложных веб-приложениях.
#функции #new_function7 736
💡 JavaScript - канал, в котором админ рассказывает сложный javascript человеческим языком.
Подписывайся, если хочешь прокачать JS и повысить свой чек за работу - t.me/simple_js
7 736
alert
Так как браузер используется как демо-среда, необходимо знать функцию alert.
Эта функция показывает сообщение и ждёт, пока пользователь нажмёт кнопку «ОК».
Это небольшое окно с сообщением называется модальным окном.
Понятие модальное означает, что пользователь не может взаимодействовать с интерфейсом остальной части страницы, нажимать на другие кнопки и т.д. до тех пор, пока взаимодействует с окном.
В данном случае – пока не будет нажата кнопка «OK».
alert принимает только один строковый аргумент!
#alert #функции
7 736
Верстальщик от Бога - самый большой канал про верстку в телеграм.
Подписывайся, если ты:
- учишь верстку (у нас есть крутой чат, где можно задать вопросы)
- работаешь верстальщиком/фронтом
- работаешь бэком, но хочешь быть в курсе последних тенденций в верстке и на фронте в целом
7 736
Комментарии
Со временем программы становятся всё сложнее и сложнее.
Возникает необходимость добавлять комментарии, которые бы описывали, что делает код и почему.
Комментарии могут находиться в любом месте скрипта. Они не влияют на его выполнение, поскольку движок просто игнорирует их.
Однострочные комментарии начинаются с двойной косой черты
//.
Часть строки после // считается комментарием. Такой комментарий может как занимать строку целиком, так и находиться после инструкции.
Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */.
Содержимое комментария игнорируется, поэтому, если мы поместим код внутри /* … */, он не будет исполняться.
#коментарии #основы
Available now! Telegram Research 2025 — the year's key insights 
