blur в JavaScript: что это такое
Событие
Когда происходит blur:
1. Клик мышью в другое место.
2. Переход клавишей Tab.
3. Смена вкладки или окна.
Когда может пригодиться blur:
— Валидация «по уходу». Проверить введённый e-mail или телефон сразу после того, как пользователь перестал редактировать поле.
— Скрытие подсказок. Прятать всплывающие хинты, когда внимание пользователя ушло с элемента.
— Автосохранение. Сохранять черновик, как только заголовок заметки потерял фокус.
Как это выглядит в коде:
Важные нюансы:
— blur не всплывает вверх по дереву DOM. Если нужно отследить потерю фокуса на контейнере, слушайте событие
— Порядок событий. Когда элемент теряет фокус, сначала срабатывает
#простымисловами #javascript
Событие
blur
не стоит путать с CSS-свойством. В JavaScript оно срабатывает на элементах, которые могут получать фокус в случаях, когда эти элементы фокус теряют. Например, пользователь «ушёл» с этого элемента и переключил внимание на что-то другое (другой элемент, окно или вкладку).Когда происходит blur:
1. Клик мышью в другое место.
2. Переход клавишей Tab.
3. Смена вкладки или окна.
Когда может пригодиться blur:
— Валидация «по уходу». Проверить введённый e-mail или телефон сразу после того, как пользователь перестал редактировать поле.
— Скрытие подсказок. Прятать всплывающие хинты, когда внимание пользователя ушло с элемента.
— Автосохранение. Сохранять черновик, как только заголовок заметки потерял фокус.
Как это выглядит в коде:
<input id="email" placeholder="Введите e-mail" />
<script>
const emailInput = document.getElementById('email');
emailInput.addEventListener('blur', () => {
console.log('Поле e-mail потеряло фокус — проверяем данные.');
// Здесь может быть ваша валидация или отправка на сервер
});
</script>
Важные нюансы:
— blur не всплывает вверх по дереву DOM. Если нужно отследить потерю фокуса на контейнере, слушайте событие
focusout
: оно ведёт себя так же, но всплывает.— Порядок событий. Когда элемент теряет фокус, сначала срабатывает
focusout
, затем blur
. Это редко важно, но полезно знать при сложной логике.#простымисловами #javascript
👍3🔥3
Проверка совместимости JavaScript-кода с окружением за секунды
Runtime-compat — это инструмент, который позволяет проверить, какие фичи вашего кода поддерживаются в разных средах выполнения, а какие — нет.
Запустите его и он покажет, что будет работать, например, с Node.js, а что придется переписать. Сейчас инструмент поддерживает Node.js, Deno, Bun, Cloudflare Workers и другие среды выполнения.
#инструменты #javascript
Runtime-compat — это инструмент, который позволяет проверить, какие фичи вашего кода поддерживаются в разных средах выполнения, а какие — нет.
Запустите его и он покажет, что будет работать, например, с Node.js, а что придется переписать. Сейчас инструмент поддерживает Node.js, Deno, Bun, Cloudflare Workers и другие среды выполнения.
#инструменты #javascript
🔥4
Одна переменная на три мира: как синхронизировать значение между HTML, CSS и JavaScript
В статье Крис Койер показывает, как установить переменную
#фронтенд #pug #css #javascript
В статье Крис Койер показывает, как установить переменную
size
в Pug и передать её одновременно в HTML (для генерации сетки), CSS (через --size
для настройки grid-template-columns) и JavaScript (через window.size
для навигации по стрелкам). Простой приём, который позволяет управлять интерфейсом из одного источника данных.#фронтенд #pug #css #javascript
🔥8
Краткая история JavaScript
В этом году JavaScript исполняется 30 лет. За это время язык прошёл путь от 10‑дневного прототипа до платформы, питающей серверы, приложения и AI-инструменты.
В статье — ключевые вехи эволюции: появление XMLHttpRequest, Node.js, TypeScript, Deno, Bun и даже планы TS на Go. Здесь вы получите не просто хронологию, а понимание, как JavaScript меняет мир разработки.
#javascript #историяit
В этом году JavaScript исполняется 30 лет. За это время язык прошёл путь от 10‑дневного прототипа до платформы, питающей серверы, приложения и AI-инструменты.
В статье — ключевые вехи эволюции: появление XMLHttpRequest, Node.js, TypeScript, Deno, Bun и даже планы TS на Go. Здесь вы получите не просто хронологию, а понимание, как JavaScript меняет мир разработки.
#javascript #историяit
👍8🔥5
Репозиторий, в котором собраны лучшие практики по тестированию JavaScript и Node.js приложений
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование #лучшиепрактики
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование #лучшиепрактики
👍6🔥2❤1
Virtual Mirror Library — библиотека виртуального макияжа и онлайн примерки аксессуаров
Приложений, которые поддерживают онлайн-примерку косметики, одежды или даже мебели в квартире, сегодня много. Но на этот раз предлагаю вам оценить проект, который не требует установки и работает прямиком из браузера.
Здесь автор рассказала, как ей пришла в голову эта идея и как она её реализовала. Код, основные вехи проекта и инструкция по использованию также ждут вас внутри статьи.
Мужики, делитесь фотками тестов😤
#фронтенд #javascript
Приложений, которые поддерживают онлайн-примерку косметики, одежды или даже мебели в квартире, сегодня много. Но на этот раз предлагаю вам оценить проект, который не требует установки и работает прямиком из браузера.
Здесь автор рассказала, как ей пришла в голову эта идея и как она её реализовала. Код, основные вехи проекта и инструкция по использованию также ждут вас внутри статьи.
Мужики, делитесь фотками тестов
#фронтенд #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3🤔3
var, let, const — в чём разница?
В JavaScript есть три способа объявить переменную. Все они ведут себя по-разному. Разберём детально, но простыми словами, чтобы больше не было путаницы.
🟡 var — привет из прошлого
Особенности:
🔁 Область видимости: не блочная, а функциональная
🔼 Всплывает (hoisting) — поднимается вверх функции, но без значения
🔄 Можно переобъявить и изменить
😵 Может вести себя неожиданно
🔵 let — современный стандарт
Особенности:
🔁 Область видимости: блочная
🔼 Всплывает, но в «мертвой зоне» (TDZ — Temporal Dead Zone), поэтому использовать до объявления нельзя
❌ Нельзя переобъявить в той же области видимости
✅ Можно менять значение
🟢 const — постоянство с нюансами
Особенности:
🔁 Область видимости: как у
❌ Нельзя изменить значение
⚠️ Но если значение — объект или массив, можно менять его внутренности
📌 Нужно обязательно сразу присвоить значение при объявлении
В чём подвох в циклах?
Один из частых багов — поведение
Что использовать?
#простымисловами #javascript #основы
В JavaScript есть три способа объявить переменную. Все они ведут себя по-разному. Разберём детально, но простыми словами, чтобы больше не было путаницы.
🟡 var — привет из прошлого
Особенности:
🔁 Область видимости: не блочная, а функциональная
🔼 Всплывает (hoisting) — поднимается вверх функции, но без значения
🔄 Можно переобъявить и изменить
😵 Может вести себя неожиданно
if (true) {
var a = 1;
}
console.log(a); // 1 — переменная "вышла" из блока
console.log(b); // undefined — переменная есть, но ещё без значения
var b = 2;
🔵 let — современный стандарт
Особенности:
🔁 Область видимости: блочная
🔼 Всплывает, но в «мертвой зоне» (TDZ — Temporal Dead Zone), поэтому использовать до объявления нельзя
❌ Нельзя переобъявить в той же области видимости
✅ Можно менять значение
if (true) {
let c = 10;
}
console.log(c); // ❌ ReferenceError — переменная вне блока
let d = 5;
let d = 6; // ❌ тоже ошибка — уже объявлена
🟢 const — постоянство с нюансами
Особенности:
🔁 Область видимости: как у
let
— блочная❌ Нельзя изменить значение
⚠️ Но если значение — объект или массив, можно менять его внутренности
📌 Нужно обязательно сразу присвоить значение при объявлении
const x = 42;
x = 100; // ❌ ошибка
const user = { name: "Alice" };
user.name = "Bob"; // ✅ работает
user = { name: "Charlie" }; // ❌ ошибка
В чём подвох в циклах?
Один из частых багов — поведение
var
в цикле.for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 0);
}
// 3, 3, 3 — потому что var одна на весь цикл
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 0);
}
// 0, 1, 2 — потому что let создаёт новую переменную на каждой итерации
Что использовать?
const
— почти всегда. Надёжно, понятно, предсказуемо.let
— если переменная будет меняться.var
— только если пишете поддержку старого кода. В новом — не надо.#простымисловами #javascript #основы
👍26💩8🔥2
Для чего используется stopPropagation()
Данный метод используется для предотвращения всплытия или поднятия события вверх по цепочке из предков целевого элемента. Другими словами, он прекращает передачу события от целевого элемента к его предкам. Рассмотрим пример ниже.
При клике по вложенному контейнеру в консоль выводится сообщение «Внутренний контейнер». Если убрать
#основы #javascript
Данный метод используется для предотвращения всплытия или поднятия события вверх по цепочке из предков целевого элемента. Другими словами, он прекращает передачу события от целевого элемента к его предкам. Рассмотрим пример ниже.
При клике по вложенному контейнеру в консоль выводится сообщение «Внутренний контейнер». Если убрать
event.stopPropagation()
, то при клике по вложенному контейнеру, в консоль будут выведены оба сообщения.#основы #javascript
👍11🔥4
Веб-страница
var, let, const — в чём разница? В JavaScript есть три способа объявить переменную. Все они ведут себя по-разному. Разберём детально, но простыми словами, чтобы больше не было путаницы. 🟡 var — привет из прошлого Особенности: 🔁 Область видимости: не блочная…
Что не так с var — и почему его всё реже используют
В предыдущем посте многие высказывались по поводу того, что
Да,
✅ Почему let и const — лучше:
— работают в пределах блока, а не всей функции;
— защищают от доступа до инициализации (TDZ);
— не позволяют случайно переобъявить переменную;
— делают поведение кода очевидным — особенно в условиях и циклах.
🚫 Почему var — неудачный выбор по умолчанию:
— всплывает с
— работает во всей функции, а не в том месте, где его видно;
— легко переопределяется и ведёт себя неожиданно в асинхронных сценариях и циклах.
⚙️ А как же производительность?
На уровне сборки (Vite, esbuild, Webpack) весь ваш
Вы пишете безопасно, а сборщик сам оптимизирует.
📌 Когда var всё-таки уместен?
Если вы работаете со старым кодом, пишете под очень старые браузеры, или используете особые трюки с hoisting —
Всё ещё не согласны? Делитесь вашим мнением в комментариях.
#простымисловами #javascript
В предыдущем посте многие высказывались по поводу того, что
var
не является устаревший способом. Давайте разберемся.Да,
var
— не устарел и не запрещён. Он по-прежнему часть JavaScript. Но в современной разработке ему предпочитают let
и const
. Не потому что это модно, а потому что так безопаснее и предсказуемее.✅ Почему let и const — лучше:
— работают в пределах блока, а не всей функции;
— защищают от доступа до инициализации (TDZ);
— не позволяют случайно переобъявить переменную;
— делают поведение кода очевидным — особенно в условиях и циклах.
🚫 Почему var — неудачный выбор по умолчанию:
— всплывает с
undefined
, даже если объявлен ниже;— работает во всей функции, а не в том месте, где его видно;
— легко переопределяется и ведёт себя неожиданно в асинхронных сценариях и циклах.
⚙️ А как же производительность?
На уровне сборки (Vite, esbuild, Webpack) весь ваш
let
и const
может быть скомпилирован в var
, если это действительно ускоряет загрузку.Вы пишете безопасно, а сборщик сам оптимизирует.
📌 Когда var всё-таки уместен?
Если вы работаете со старым кодом, пишете под очень старые браузеры, или используете особые трюки с hoisting —
var
может быть оправдан. Но это редкость, а не рекомендация.Всё ещё не согласны? Делитесь вашим мнением в комментариях.
#простымисловами #javascript
❤17👍3👎1
Как переносить «висячие» слова с помощью JavaScript
Тексты, в которых на новой строке одиноко торчит «в», «на» или «и», сразу теряют в читаемости. В этой статье — короткий, но полезный приём: как с помощью JavaScript автоматически заменять пробелы после коротких слов на неразрывные и избавляться от висячих слов. Работает и для HTML-содержимого, и для Markdown. Минимум кода — максимум пользы для интерфейса и редактурной чистоты.
#фронтенд #javascript #ux
Тексты, в которых на новой строке одиноко торчит «в», «на» или «и», сразу теряют в читаемости. В этой статье — короткий, но полезный приём: как с помощью JavaScript автоматически заменять пробелы после коротких слов на неразрывные и избавляться от висячих слов. Работает и для HTML-содержимого, и для Markdown. Минимум кода — максимум пользы для интерфейса и редактурной чистоты.
#фронтенд #javascript #ux
👍11👎3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Естественно, Liquid Glass
Нашел интересный CodePen-проект: Apple со своим обновлением заставили сообщество переосмыслять Liquid Glass, не без этого. Автор реализовал такое с помощью пользовательского шейдера (shaderMaterial) на WebGL с помощью three.js.
Посмотреть код можно здесь: https://codepen.io/supah/pen/dPodbrX
#codepen #css #javascript
@tproger_web
Нашел интересный CodePen-проект: Apple со своим обновлением заставили сообщество переосмыслять Liquid Glass, не без этого. Автор реализовал такое с помощью пользовательского шейдера (shaderMaterial) на WebGL с помощью three.js.
Посмотреть код можно здесь: https://codepen.io/supah/pen/dPodbrX
#codepen #css #javascript
@tproger_web
🔥7👍4👎1
Упрощаем работу с регулярками в JavaScript
RegExp может выглядеть как набор символов и скобок, но правильный подход — это чистый, понятный и протестированный код. Здесь собраны техники, которые помогут вам улучшить ваши навыки работы с регулярками и упростить их использование.
#фронтенд #javascript #regexp
RegExp может выглядеть как набор символов и скобок, но правильный подход — это чистый, понятный и протестированный код. Здесь собраны техники, которые помогут вам улучшить ваши навыки работы с регулярками и упростить их использование.
#фронтенд #javascript #regexp
😁9👍2
#простымисловами: Как устроен и зачем нужен async/await
Асинхронный код на JavaScript всегда был необходим — запросы к серверу, таймеры, работа с файлами занимают время и не должны блокировать страницу. Раньше для этого использовали коллбэки или цепочки промисов, но такие конструкции быстро становились запутанными и сложными в поддержке.
Как это работает
Чтобы использовать
Пример:
Такой код легко читать и поддерживать — он идёт по шагам и не содержит вложенных
Преимущества по сравнению с коллбэками и промисами:
— Нет вложенных функций и «пирамид ада» из коллбэков.
— Ошибки можно обрабатывать привычным
— Логика программы остаётся линейной и предсказуемой.
Коллбэки и промисы по‑прежнему работают и подходят для некоторых случаев, но
Если вы всё ещё используете цепочки
#javascript
Асинхронный код на JavaScript всегда был необходим — запросы к серверу, таймеры, работа с файлами занимают время и не должны блокировать страницу. Раньше для этого использовали коллбэки или цепочки промисов, но такие конструкции быстро становились запутанными и сложными в поддержке.
async/await
решает эту проблему. Это синтаксис, который позволяет писать асинхронный код в привычной пошаговой форме, но под капотом он остаётся неблокирующим.Как это работает
Чтобы использовать
async/await
, достаточно объявить функцию с ключевым словом async
. Это значит, что она всегда вернёт промис. Внутри такой функции можно применять await
, чтобы дождаться завершения промиса перед выполнением следующей инструкции.Пример:
async function fetchData() {
const response = await fetch('/data.json');
const data = await response.json();
console.log(data);
}
Такой код легко читать и поддерживать — он идёт по шагам и не содержит вложенных
.then()
и .catch()
.Преимущества по сравнению с коллбэками и промисами:
— Нет вложенных функций и «пирамид ада» из коллбэков.
— Ошибки можно обрабатывать привычным
try/catch
, как в синхронном коде.— Логика программы остаётся линейной и предсказуемой.
Коллбэки и промисы по‑прежнему работают и подходят для некоторых случаев, но
async/await
значительно облегчает написание и поддержку асинхронного кода.Если вы всё ещё используете цепочки
.then()
или длинные коллбэки — попробуйте переписать их с async/await
. Код станет чище, а ошибки — легче отлавливать.#javascript
🔥8👍4❤3
Решаем судоку на JavaScript: хэш‑карты + рекурсия
Как заставить JavaScript разгадывать судоку? В статье показан простой и понятный подход: доска представляется в виде двумерного массива, а для проверки допустимости ходов используются хэш‑карты. Решатель построен на рекурсивном переборе возможных значений с откатом, пока не найдётся правильное заполнение всей сетки.
#javascript #алгоритмы
Как заставить JavaScript разгадывать судоку? В статье показан простой и понятный подход: доска представляется в виде двумерного массива, а для проверки допустимости ходов используются хэш‑карты. Решатель построен на рекурсивном переборе возможных значений с откатом, пока не найдётся правильное заполнение всей сетки.
#javascript #алгоритмы
🔥6
Forwarded from Точка входа в программирование
Что такое прототипное наследование в JavaScript?
Предлагаем вам новый формат — мы #простымисловами рассказываем о программировании, но прежде чем прочитать, попробуйте самостоятельно вспомнить о чем речь, чтобы проверить свои знания. Пишите своё понимание в комментарии, а только потом читайте наше объяснение.
В других языках (например, Java или C#) есть классы — «шаблоны», по которым создаются объекты, и у которых можно наследовать методы и свойства.
В JavaScript всё устроено немного иначе — он изначально не был «классовым», и вместо этого использует **прототипы**.
В JavaScript **каждый объект внутри себя хранит ссылку на другой объект — прототип**.
Если вы обращаетесь к свойству или методу, которого нет в текущем объекте, JavaScript заглянет в его прототип. Не нашёл там? Пойдёт дальше — в прототип прототипа.
Эта цепочка называется **прототипной цепочкой**.
Здесь rabbit не хранит eats напрямую, но когда вы к нему обращаетесь — движок пойдёт по цепочке в animal и найдёт.
**Почему это удобно?**
1. Можно «раздавать» общие методы всем объектам через прототип — не дублируя код.
2. Можно строить целые цепочки наследования без классов.
3. Всё это гибко и динамично.
Сейчас вJavaScript уже появились **классы**, но внутри они всё равно реализованы через прототипы — просто это более привычный синтаксис для тех, кто приходит из других языков.
Так что прототипное наследование — это способ объектов «подглядывать» в другие объекты за свойствами и методами. И именно так устроен весь JavaScript под капотом.
#javascript
Предлагаем вам новый формат — мы #простымисловами рассказываем о программировании, но прежде чем прочитать, попробуйте самостоятельно вспомнить о чем речь, чтобы проверить свои знания. Пишите своё понимание в комментарии, а только потом читайте наше объяснение.
В
В
Если вы обращаетесь к свойству или методу, которого нет в текущем объекте,
Эта цепочка называется **прототипной цепочкой**.
const animal = {
eats: true
};
const rabbit = {
jumps: true
};
rabbit.__proto__ = animal;
console.log(rabbit.jumps); // true (есть в самом объекте)
console.log(rabbit.eats); // true (нашёлся в прототипе)
Здесь rabbit не хранит eats напрямую, но когда вы к нему обращаетесь — движок пойдёт по цепочке в animal и найдёт.
**Почему это удобно?**
1. Можно «раздавать» общие методы всем объектам через прототип — не дублируя код.
2. Можно строить целые цепочки наследования без классов.
3. Всё это гибко и динамично.
Сейчас в
Так что прототипное наследование — это способ объектов «подглядывать» в другие объекты за свойствами и методами. И именно так устроен весь
#javascript
❤12👍7
Apple Lisa в браузере: почувствуйте революцию интерфейсов 80‑х
В 1983‑м Apple выпустила Lisa — первый коммерческий компьютер с графическим интерфейсом. Тогда он стоил почти $10 000 и казался фантастикой.
Теперь ту самую Lisa можно запустить прямо в браузере: эмулятор на чистом JavaScript воспроизводит интерфейс до мелочей. Всё как в оригинале: при перетаскивании движется только рамка, потому что мощности «железа» не хватало, чтобы рендерить содержимое в реальном времени.
Сейчас проект ещё в альфе, но уже отлично показывает, какой была революция интерфейсов 80‑х и первый графический опыт на ПК.
Подробности о проекте и ссылка на эмулятор здесь.
#историяit #apple #javascript
В 1983‑м Apple выпустила Lisa — первый коммерческий компьютер с графическим интерфейсом. Тогда он стоил почти $10 000 и казался фантастикой.
Теперь ту самую Lisa можно запустить прямо в браузере: эмулятор на чистом JavaScript воспроизводит интерфейс до мелочей. Всё как в оригинале: при перетаскивании движется только рамка, потому что мощности «железа» не хватало, чтобы рендерить содержимое в реальном времени.
Сейчас проект ещё в альфе, но уже отлично показывает, какой была революция интерфейсов 80‑х и первый графический опыт на ПК.
Подробности о проекте и ссылка на эмулятор здесь.
#историяit #apple #javascript
❤6😁2🤯2
Почему push() может навредить вашему коду — и как писать лучше
На первый взгляд безобидный метод массива
А вы отказались от push() или всё ещё используете?
#javascript #фронтенд
На первый взгляд безобидный метод массива
push()
может испортить данные, запутать логику и вызвать баги. Особенно это заметно в React и других реактивных средах. В статье — наглядно и с примерами: чем опасна мутация массивов, как это приводит к скрытым ошибкам и какой подход используют опытные разработчики вместо push()
.А вы отказались от push() или всё ещё используете?
#javascript #фронтенд
👎29👍4❤3
Forwarded from Точка входа в программирование
Hack Frontend: тренируйтесь для собеседования с огоньком
Если вы мечтаете прокачать фронтенд‑скиллы и спокойно заходить на тех‑интервью — обратите внимание на Hack Frontend. Это платформа, где вы сможете отточить навыки и подготовиться к успешному собеседованию.
Что внутри:
— Современный фронтенд‑стек и лучшие практики.
— Задания, которые реальнее всего встретить на интервью.
— Построено для реализации — вы сразу тренируетесь на реальных примерах, не просто читаете теорию.
#фронтенд #тренажер #javascript
Если вы мечтаете прокачать фронтенд‑скиллы и спокойно заходить на тех‑интервью — обратите внимание на Hack Frontend. Это платформа, где вы сможете отточить навыки и подготовиться к успешному собеседованию.
Что внутри:
— Современный фронтенд‑стек и лучшие практики.
— Задания, которые реальнее всего встретить на интервью.
— Построено для реализации — вы сразу тренируетесь на реальных примерах, не просто читаете теорию.
#фронтенд #тренажер #javascript
Hack Frontend
Hack Frontend — платформа для подготовки к собеседованиям по фронтенд-разработке. Изучайте теорию, решайте задачи и готовьтесь к успешному собеседованию. Подготовка к фронтенд собеседованию
❤7👍1
Пишем игру на JS/TS и развиваем навык работы с кодом
В статье автор рассказывает, как создать игру, которая будет предлагать вам рандомный текст и засекать за сколько по времени вы сможете его напечатать.
Сохраните, чтобы не потерять: https://tproger.ru/articles/pet-proekt-pishem-igru-na-js-ts-i-razvivaem-navyk-raboty-s-kodom/
#typescript #javascript #петпроект
В статье автор рассказывает, как создать игру, которая будет предлагать вам рандомный текст и засекать за сколько по времени вы сможете его напечатать.
Сохраните, чтобы не потерять: https://tproger.ru/articles/pet-proekt-pishem-igru-na-js-ts-i-razvivaem-navyk-raboty-s-kodom/
#typescript #javascript #петпроект
👍6🤔2
Асинхронная итерация по-новому: как работает Array.fromAsync в JavaScript
Асинхронные задачи — это обычное дело во фронтенде. Но лаконичного способа обработать их сразу пакетами до недавнего времени не было. Array.fromAsync — свежий инструмент для простого и элегантного обхода промисов в массивах.
В статье — нюансы работы метода, примеры из жизни и сценарии, где он может здорово сэкономить нервы и строчки кода.
#javascript #фронтенд
Асинхронные задачи — это обычное дело во фронтенде. Но лаконичного способа обработать их сразу пакетами до недавнего времени не было. Array.fromAsync — свежий инструмент для простого и элегантного обхода промисов в массивах.
В статье — нюансы работы метода, примеры из жизни и сценарии, где он может здорово сэкономить нервы и строчки кода.
#javascript #фронтенд
👎4🔥2