JavaScript заметки
رفتن به کانال در Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
نمایش بیشتر7 737
مشترکین
-324 ساعت
-77 روز
-5430 روز
آرشیو پست ها
7 737
МАРАФОН ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ «СВОЯ ОНЛАЙН-БИБЛИОТЕКА 1984»
⠀
С 4 по 17 апреля вы сможете погрузиться в мир IT и испытать свои силы в вёрстке и JavaScript'e на крутом обучающем марафоне от онлайн-школы METHED🔥
⠀
Кому подходит? ⬇️
🔹Начинающим фронтендерам — новые знания + полноценный проект в портфолио.
🔹Опытным специалистам — повышение мастерства + прокачка навыков и умений.
⠀
На марафоне будем верстать сайт библиотеки по макету Figma с помощью HTML, CSS/SCSS и JavaScript. Весь интерактив пишем на JavaScript — ES6 и выше (современный стандарт)
⠀
А также вы ⬇️
▪️Соберёте готовый проект при помощи gulp
▪️Напишете стили для проекта используя SCSS, адаптив.
▪️Научитесь работать с элементами DOM-дерева.
▪️Поработаете со стилями CSS с помощью JavaScript.
▪️Познакомитесь с шаблонными строками и интерполяцией.
Марафон пройдёт с 4 по 17 апреля в формате видеотрансляций с домашним заданием и проверкой от куратора. Стоимость — 990 ₽. Бонус - среди всех участников разыграем место на полном курсе от METHED по вёрстке или JavaScript на выбор.
⠀
Запись и подробная программа по ссылке ⬇️
⠀
https://bit.ly/3JWbFdQ
7 737
BOM (Browser Object Model)
Объектная модель браузера (Browser Object Model, BOM) – это дополнительные объекты, предоставляемые браузером (окружением), чтобы работать со всем, кроме документа.
Например:
- Объект navigator даёт информацию о самом браузере и операционной системе. Среди множества его свойств самыми известными являются:
navigator.userAgent – информация о текущем браузере, и navigator.platform – информация о платформе (может помочь в понимании того, в какой ОС открыт браузер – Windows/Linux/Mac и так далее).
- Объект location позволяет получить текущий URL и перенаправить браузер по новому адресу.
Пример как мы можем использовать объект location показан на рисунке.
Функции alert/confirm/prompt тоже являются частью BOM: они не относятся непосредственно к странице, но представляют собой методы объекта окна браузера для коммуникации с пользователем.
#браузер #документ7 737
⚡️Пользователей Windows атакует шпионская программа Vidar
Шпионское ПО скрыто в скомпилированных html-файлах справки Microsoft (chm)…
Впервые слышишь? Тогда тебе необходимо быть подписанным на канал Дверь в айти
Авторы канала позволят тебе оставаться в тренде последний событий, которые произошли в IT-сфере. Важные новости, лайфаки и советы- все это вы найдёте на канале Дверь в айти
7 737
DOM (Document Object Model)
Document Object Model, сокращённо DOM – объектная модель документа, которая представляет все содержимое страницы в виде объектов, которые можно менять.
Объект
document – основная «входная точка». С его помощью мы можем что-то создавать или менять на странице.
Мы использовали в примере только document.body.style, но на самом деле возможности по управлению страницей намного шире. Различные свойства и методы описаны в спецификации:
DOM Living Standard на https://dom.spec.whatwg.org
#браузер #документ7 737
Python теперь в телеграм!
Python — второй по популярности язык в мире. Он очень универсален: можно писать сайты, а можно искусственный интеллект. Теперь у Python есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!
7 737
Браузерное окружение, спецификации
Язык JavaScript изначально был создан для веб-браузеров. Но с тех пор он значительно эволюционировал и превратился в кроссплатформенный язык программирования для решения широкого круга задач.
Сегодня JavaScript может использоваться в браузере, на веб-сервере или в какой-то другой среде, даже в кофеварке. Каждая среда предоставляет свою функциональность, которую спецификация JavaScript называет окружением.
Окружение предоставляет свои объекты и дополнительные функции, в дополнение базовым языковым. Браузеры, например, дают средства для управления веб-страницами. Node.js делает доступными какие-то серверные возможности и так далее.
P.S. На картинке в общих чертах показано, что доступно для JavaScript в браузерном окружении.
#браузер #документ
7 737
JavaScript теперь в телеграм!
JavaScript — самый популярный язык в мире, он используется в 95% всех сайтов, которые вообще существуют. Теперь у JS есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсов. Стоит подписаться!
7 737
Методы в Date, String, Number
Методы форматирования также поддерживаются в обычных строках, датах, числах:
String.prototype.localeCompare(that [, locales [, options]])
Сравнивает строку с другой, с учётом локали.
Date.prototype.toLocaleString([locales [, options]])
Форматирует дату в соответствии с локалью.
Date.prototype.toLocaleDateString([locales [, options]])
То же, что и выше, но опции по умолчанию включают в себя год, месяц, день.
Date.prototype.toLocaleTimeString([locales [, options]])
То же, что и выше, но опции по умолчанию включают в себя часы, минуты, секунды.
Number.prototype.toLocaleString([locales [, options]])
Форматирует число, используя опции Intl.NumberFormat.
Все эти методы при запуске создают соответствующий объект Intl.* и передают ему опции, можно рассматривать их как укороченные варианты вызова.
P.S. Примеры по каждому методу показаны на картинке.
#разное #Intl #интернационализация7 737
Codecademy сделали канал в телеграм!
Codecademy — это крупнейшая в мире онлайн платформа для изучения программирования. Нас плохо знают русскоговорящие люди.
Именно для таких мы и сделали канал с переводом лучших материалов на русский язык!
Обязательно подписывайтесь, такой информации не будет ни на одном форуме: @ccademy
7 737
Числа, Intl.NumberFormat
Форматтер
Intl.NumberFormat умеет красиво форматировать не только числа, но и валюту, а также проценты.
P.S. На скрине показаны примеры создания и использования числового форматтера.
#разное #Intl #интернационализация7 737
Каналы от Senior разработчиков
Хотите быстро выучить JavaScript, Python или другой язык программирования? Подписывайтесь на каналы от опытных разработчиков, где они объясняют код и учат программировать.
💻 Канал Senior JavaScript разработчика:
@senior_front
🐍 Канал Python разработчика:
@seniorpy
☕️ Канал Senior Java разработчика:
@seniorjavist
🤖 Канал C++ разработчика:
@seniorcpp
📚 Заметки программиста:
@progersbooks
7 737
Даты, Intl.DateTimeFormat
Первый аргумент – такой же, как и в Collator, а в объекте
options мы можем определить, какие именно части даты показывать (часы, месяц, год…) и в каком формате.
Все локали обязаны поддерживать следующие наборы настроек:
- weekday, year, month, day, hour, minute, second
- weekday, year, month, day
- year, month, day
- year, month
- month, day
- hour, minute, second
Если указанный формат не поддерживается, то настройка formatMatcher задаёт алгоритм подбора наиболее близкого формата: basic – по стандартным правилам и best fit – по умолчанию, на усмотрение окружения (браузера).
#разное #Intl #интернационализация7 737
IT вакансии с релокацией по всему миру✈️
GoTechPeople - канал для cпециалистов из IT сектора России, Украины, Беларуси, а также IT HR и рекрутеров. Мы ежедневно размещаем новые и актуальные вакансии IT компаний с релокацией в разные страны мира.
Присоединяйтесь https://t.me/Gotechpeople!
7 737
Строки, Intl.Collator
Intl.Collator - конструктор для «сортировщиков», которые представляют собой объекты, позволяющие сравнивать строки с учетом языка.
Общая проблема строк JavaScript – они «не в курсе» языка и особенностей стран, где находится посетитель.
При сравнении сравниваются коды символов, а это неправильно, к примеру, в русском языке оказывается, что
"ё" > "я" и "а" > "Я", хотя всем известно, что я – последняя буква алфавита и это она должна быть больше любой другой.
Intl.Collator решает все эти проблемы.
P.S. Результат compare имеет значение 1 (больше), 0 (равно) или -1 (меньше).
#разное #Intl #интернационализация7 737
Продвинутая реализация каррирования
Выше представлен "продвинутый" вариант функции каррирования.
Когда мы запускаем её, есть две ветви выполнения
if:
1. Вызвать сейчас: если количество переданных аргументов args совпадает с количеством аргументов при объявлении функции (func.length) или больше, тогда вызов просто переходит к ней.
2. Частичное применение: в противном случае func не вызывается сразу. Вместо этого, возвращается другая обёртка pass, которая снова применит curried, передав предыдущие аргументы вместе с новыми. Затем при новом вызове мы опять получим либо новое частичное применение (если аргументов недостаточно) либо, наконец, результат.
На картинке выше показано, что произойдёт в случае sum(a, b, c). У неё три аргумента, так что sum.length = 3.
#разное #каррирование7 737
С чего начать изучать IT, чтобы стать востребованным специалистом?
Всё что нужно: ноутбук, Telegram, подписка на @HowTo_IT — канал, который за руку доведёт тебя до первых денег в IT-индустрии.
⤷ Внутри:
• Пошаговая теория;
• Онлайн-тренажёры для первых шагов в написании кода;
• Видеообучения, гайды, обзоры программ;
• Примеры плохих и хороших кодов;
• Уроки FrontEnd- и BackEnd-разработки.
И всё это удобно искать по хэштегам.
👨💻 Начни путь с основ до работы в топовой IT-компании!
7 737
Proxy: Валидация с ловушкой «set»
Допустим, мы хотим сделать массив исключительно для чисел. Если в него добавляется значение иного типа, то это должно приводить к ошибке.
Ловушка
set срабатывает, когда происходит запись свойства.
- set(target, property, value, receiver):
- target – это оригинальный объект, который передавался первым аргументом в конструктор new Proxy,
- property – имя свойства,
- value – значение свойства,
- receiver – аналогично ловушке get, этот аргумент имеет значение, только если свойство – сеттер.
Ловушка set должна вернуть true, если запись прошла успешно, и false в противном случае (будет сгенерирована ошибка TypeError).
#разное #proxy #ловушки7 737
Как зарабатывать на разработке сайтов в 2022 году?
👉 Так же, как я это делал в 2021, 2020, 2019 и так далее на протяжении 8-ми лет!
👉 Оказывая услуги полного цикла с помощью зеро код инструментов (для ускорения процесса).
На моем авторском канале уже есть вся необходимая информация раскрывающая все нюансы и подробности Внеконкурентного Подхода в веб разработке.
Подхода, позволяющего зарабатывать деньги удаленно, без использования фриланс бирж, где вместо заработка скорее получишь нервный срыв или чего похуже, особенно в текущих реалиях.
Вся основная суть написана в закрепе.
Переходите, подписывайтесь и тогда вы со всеми подробностями узнаете крутой метод по выходу из матрицы.
Канал: Внеконкурентный Подход
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
