JavaScript заметки
Открыть в Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Больше7 368
Подписчики
-124 часа
-167 дней
-5730 дней
Архив постов
7 368
Module Federation
Module Federation позволяет загружать отдельно скомпилированные приложения во время выполнения. Кроме того, ты можешь делиться общими зависимостями. Это также позволяет обмениваться общими данными, такими как информация о текущем пользователе или глобальные фильтры. В данной статье автор рассказывает про Module Federation.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
В телеге появился канал, где платят за вёрстку макетов Figma.
Нет, это не прикол. На канале каждый день публикуются макеты сайтов в Figma.
Верстаешь их, сдаёшь и получаешь свои деньги.
Подробности в закрепе.
Залетай, пока не поздно!
7 368
Операторы === и !==
Всегда используйте === и !== вместо == и !=.
== не является транзитивным. Если вы используете === , то оно как и ожидалось будет возвращать false для всех вышеперечисленных случаев.
#полезно
7 368
Малоизвестные API
Делимся статьей, посвященной 4 малоизвестным API. Это Page Visibility, Web Share, Broadcast Channel и Internationalization. Ты узнаешь, что они из себя представляют, где ты их можешь использовать и как использовать.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
Работа с аргументами функции
Вам не нужно определять параметры для функции. Вы можете просто использовать массиво-подобный объект функции
argument.
#функции #полезно7 368
Асинхронный JavaScript
Асинхронное программирование — это метод, который позволяет твоей программе запустить потенциально длительную задачу и по-прежнему иметь возможность реагировать на другие события во время выполнения этой задачи. Данная статья поможет разобраться с асинхронностью.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
👉Приглашаем 23 марта в 15:00 мск на бесплатный вебинар онлайн-курса «Clojure Developer» — «Интерактивная разработка на языке Clojure»: регистрация на вебинар
— На вебинаре вы узнаете, как можно добавлять новые функции или менять состояние программы, «прощупывать» любые данные и пошагово отлаживать код, запускать тесты и подключаться к внешним системам. И всё это не выходя из REPL!
✔️Продолжить обучение на курсе возможно в рассрочку.
7 368
Оператор
|| для задания значений по умолчанию
Одной из малоизвестных, но полезных заметок в JavaScript является то, что можно использовать логический оператор || для задания значений по умолчанию. Если переменная имеет значение null, undefined, false или 0, то можно использовать || для установки значения по умолчанию. Например, вместо записи:
if (x === undefined) {
x = 'default';
}
можно записать:
x = x || 'default';Эта конструкция работает так: если значение x равно null, undefined, false или 0, то будет использовано значение 'default'. Если значение x уже установлено и является истинным, то будет использовано это значение. Такой подход позволяет сократить код и упростить его чтение и понимание. #операторы
7 368
WebHID/WebNFC/WebUSB
Данная статья знакомит с тремя API для работы с аппаратным обеспечением. Благодаря этим API ты сможешь взаимодействовать с HID (Human Interface Device), NFC (Near Field Communication) и USB (Universal Serial Bus).
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
Свершилось! В Telegram добавили бесплатный @ChatGPT4
Малый пример того, что может данный бот:
-Решать математические задачи
-Писать рефераты/рассказы/песни/стихи/статьи на любые темы
-Создать резюме
-Кодить и обучать кодингу
-Объяснить любую тему
-Шутить
И многое другое! Возможности бота ограничены только вашей фантазией. Пользуйтесь и делитесь с друзьями! 👉🏻@ChatGPT
7 368
Получить n последних элементов массива
Метод массива slice() может принимать отрицательные целые числа, и при наличии он будет принимать значения с конца массива, а не с начала.
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(array.slice(-1)); // Result: [9] console.log(array.slice(-2)); // Result: [8, 9] console.log(array.slice(-3)); // Result: [7, 8, 9]#массивы
7 368
Граф
Граф представляет собой математическое представление сети и описывает отношения между линиями и точками. Граф состоит из нескольких точек и линий между ними. Каждый объект в графе называется узлом. Благодаря этой статье ты узнаешь, как работать с графом в JavaScript.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
Промисы - это объекты, которые представляют собой асинхронную операцию, и имеют три состояния: ожидание (pending), выполнено (fulfilled) и отклонено (rejected). Промисы позволяют работать с асинхронными операциями более удобно, чем с колбэками, так как позволяют обрабатывать результаты асинхронной операции через методы
then() и catch().
#полезно7 368
Heap out of memory
Распространенной проблемой при работе с Node.js является ошибка «heap out of memory». Эта ошибка обычно возникает, когда памяти по умолчанию, выделенной твоей системой для Node.js, недостаточно для запуска большого проекта. В данной статье автор демонстрирует, как можно решить эту проблему.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
Вот еще одна полезная заметка: в JavaScript есть два различных оператора сравнения: "==" и "===".
Оператор "==" сравнивает значения двух операндов и приводит их к одному типу данных, если они имеют разный тип. Например:
console.log(5 == "5"); // trueЗначения сравниваются после приведения типов, поэтому "5" (строка) преобразуется в 5 (число). Оператор "===" также сравнивает значения двух операндов, но не выполняет приведение типов. То есть, если операнды имеют разный тип, они будут считаться не равными. Например:
console.log(5 === "5"); // falseЗначения не сравниваются после приведения типов, поэтому "5" (строка) и 5 (число) будут считаться разными значениями. В целом, рекомендуется использовать оператор "===" вместо "==" в большинстве случаев, чтобы избежать неожиданных результатов при сравнении значений разных типов данных. #операторы
7 368
Управление страницей с помощью жестов
Делимся статьей, где автор демонстрирует управление страницей с помощью жестов. Для обнаружения и отслеживания руки и жестов используется MediaPipe. Для работы с зависимостями — Yarn.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
Шаблонные строки - это специальный вид строковых литералов, который позволяет вставлять значения переменных и выражений внутрь строки.
Например, чтобы создать строку, содержащую значения переменных, можно использовать обычные строки и конкатенацию:
const name = 'Alice'; const age = 25; const message = 'My name is ' + name + ' and I am ' + age + ' years old.'; console.log(message); // "My name is Alice and I am 25 years old."С помощью шаблонных строк этот код можно записать короче и более читаемо:
const name = 'Alice';
const age = 25;
const message = My name is ${name} and I am ${age} years old.;
console.log(message); // "My name is Alice and I am 25 years old."
Шаблонные строки также позволяют использовать многострочный формат и вставлять выражения:
const message = My name is ${name} and I am ${age} years old. The square of my age is ${age * age}.;
console.log(message);
/*
"My name is Alice and I am 25 years old.
The square of my age is 625."
*/
#полезно7 368
Создание понга
Делимся статьей, где автор рассказывает про создание понга с помощью JavaScript. Продемонстрирована игровая логика, создание примитивов на 2D-канвасе. Присутствует ссылка на код в GitHub и видео-гайд.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
7 368
Деструктуризация в JavaScript
Деструктуризация позволяет извлекать значения из объектов и массивов и присваивать их переменным.
Например, чтобы извлечь значения из массива, можно использовать следующий код:
const arr = [1, 2, 3]; const [a, b, c] = arr; console.log(a, b, c); // 1 2 3Аналогично, чтобы извлечь значения из объекта, можно использовать следующий код:
const obj = {a: 1, b: 2, c: 3};
const {a, b, c} = obj;
console.log(a, b, c); // 1 2 3
Деструктуризация также позволяет извлекать значения из вложенных объектов и массивов:
const obj = {a: 1, b: {c: 2, d: 3}};
const {a, b: {c, d}} = obj;
console.log(a, c, d); // 1 2 3
const arr = [[1, 2], [3, 4]];
const [[a, b], [c, d]] = arr;
console.log(a, b, c, d); // 1 2 3 4
Использование деструктуризации упрощает доступ к значениям объектов и массивов и повышает читаемость кода.
#полезно7 368
Генератор коротких CSS классов и id
Делимся статьей, где автор демонстрирует генерацию коротких css классов и id элементов в html верстке. Приведен алгоритм и требования к генератору, также присутствует ссылка на npm пакет.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
