Найти в Дзене
От Джуна до Лида (IT Jobs)

5 функций JavaScript, которые вы (вероятно) не использовали

Опрос The State of JavaScript 2022 года вышел несколько месяцев назад.  В одном особенно интересном разделе рассказывается о новых возможностях JavaScript, которые многие разработчики не использовали или о которых не слышали 5) Promise.allSettled() ( 37,7% никогда не слышали об этом ) Promise.allSettled() — это статический метод, который принимает итерируемый (например, массив) обещаний. Основной вариант использования Promise.allSettled() — обработка нескольких независимых асинхронных задач. Это позволяет вам узнать результат каждой задачи и использовать любую дополнительную логику. Это похоже на Promise.all() , главное отличие состоит в том, что Promise.all() немедленно отклоняется, когда любое из обещаний отклонено. Используйте Promise.allSettled(), когда: Используйте Promise.all(), когда: 4) Числовые разделители ( 49,7% никогда о них не слышали ) Числовые разделители позволяют нам использовать знаки подчеркивания ( _, U+005F) для записи больших чисел более удобным для человека спосо
Оглавление

Опрос The State of JavaScript 2022 года вышел несколько месяцев назад.  В одном особенно интересном разделе рассказывается о новых возможностях JavaScript, которые многие разработчики не использовали или о которых не слышали

5) Promise.allSettled() ( 37,7% никогда не слышали об этом )

Promise.allSettled() — это статический метод, который принимает итерируемый (например, массив) обещаний.

Основной вариант использования Promise.allSettled() — обработка нескольких независимых асинхронных задач. Это позволяет вам узнать результат каждой задачи и использовать любую дополнительную логику.

Это похоже на Promise.all() , главное отличие состоит в том, что Promise.all() немедленно отклоняется, когда любое из обещаний отклонено.

Используйте Promise.allSettled(), когда:

  • вам нужно знать конечный результат всех обещаний
  • задачи независимы друг от друга (нет зависимой логики)

Используйте Promise.all(), когда:

  • вы хотите немедленно отклонить любое из отклонений обещаний
  • задачи зависят друг от друга

4) Числовые разделители ( 49,7% никогда о них не слышали )

Числовые разделители позволяют нам использовать знаки подчеркивания ( _, U+005F) для записи больших чисел более удобным для человека способом. Добавляйте символы подчеркивания, чтобы разбить длинные числа, особенно если встречается много повторяющихся цифр.

3) Логическое задание ( 45,8% никогда о нем не слышали ) Логическое присваивание (&&=) представлено следующим синтаксисом:

х &&= у

Он присвоит значение y в x только в том случае, если x является истинным .

Логическая часть синтаксиса И будет сокращена , что означает, что ее можно переписать в более длинном синтаксисе, как:

x && (x = y);

2) Временная ( 73,2% никогда о ней не слышали )

Temporal — это еще один API даты/времени для JavaScript. Тем не менее, это интересно, потому что в настоящее время (на момент написания) он находится на стадии 3 предложения , что означает, что в ближайшем будущем он, вероятно, станет частью официального стандарта JavaScript.

Использование Dates в JavaScript всегда было проблемой, поэтому многие библиотеки даты/времени в настоящее время процветают в экосистеме (Luxon, Date-fns, Datejs и многие другие).

Temporal стремится исправить это, используя глобальный объект , который действует как пространство имен (аналогично Math ), и предлагает современный, простой в использовании API даты/времени для JavaScript из коробки. Это означает, что нам больше не нужны внешние библиотеки даты/времени (ура!).

1) Error.prototype.cause ( 72,7% никогда о ней не слышали )

Это удобно для разработчиков Node.js — эта функция позволяет нам указать конкретную причину нашей ошибки , что упрощает отладку.

Обычно отладка — это боль, потому что мы понятия не имеем, с чего начать! Наличие « причины ошибки » помогает получить больше информации о происхождении ошибки. Сцепляя ошибку, мы можем перехватывать и повторно выдавать ошибку, создавая более конкретный журнал ошибок, сохраняя при этом доступ к исходной ошибке