JavaScript

Спецификация ECMAScript 2021 для JavaScript приближается к финишу

Spread the love

Предложение для следующей версии официальной спецификации JavaScript вводит усовершенствования в строки, промисы и ссылки на объекты.

Спецификация находится под юрисдикцией ECMA International. ECMAScript 2021, который, как ожидается, будет официально утвержден в июне, будет включать в себя следующие функции:

  • String.prototype.ReplaceAll, предоставляя разработчикам возможность заменить все экземпляры подстроки в строке без использования глобального регулярного выражения. Наиболее распространенным способом достижения этой цели на данный момент является использование глобального регулярного выражение. Между тем String.prototype.replace влияет только на первое вхождение при использовании со строковым аргументом. Предлагаемое решение добавило бы метод replaceAll к прототипу String, предоставив разработчикам простое решение.
  • AggregateError, новый тип ошибки, представляющий сразу несколько ошибок.
  • Promise.any, комбинатор промисов, который замыкается при выполнении входного значения. Promise.any принимает итерацию промисов и возвращает один, которое резолвится со значением этого обещания. Если промисы итерируемого объекта не выполняются, то промис возвращается с AggregateError. Этот метод противоположен Promise.all.
  • WeakRef для ссылки на целевой объект без защиты его от сборки мусора. Это предложение включает в себя основные новые функциональные возможности: создание слабых ссылок на объекты с помощью класса WeakRefcode и запуск определяемых пользователем финализаторов после сборки мусора с использованием класса FinalizationRegistry. WeakRef и FinalizationRegistry, еще одна новая функция, считаются расширенными функциями, и их правильное использование требует тщательного обдумывания. По возможности их лучше избегать.
  • FinalizationRegistry, чтобы управлять регистрацией и отменой регистрации операций очистки, выполняемых, когда целевые объекты собираются сборщиком мусора.
  • Array.prototype.sort стал более точным, чтобы уменьшить количество случаев, приводящих к порядку сортировки, определяемому реализацией.
  • Разделители для числовых литералов, позволяющие разработчикам сделать числовые литералы более удобочитаемыми, создавая визуальное разделение между группами цифр. Большие числовые литералы трудно анализировать визуально, особенно при повторении длинных цифр.
  • Операторы логического присваивания, объединяющие логические операторы и выражения присваивания. В основе этого предложения лежит довод о том, что существует дюжина математических операторов присваивания, но ни одного для часто используемых логических операторов.

ECMAScript 2021 следует за ECMAScript 2020, который был официально одобрен в июне прошлого года. ECMAScript 2020 представил функции, начиная от нового средства импорта для загрузки модулей и заканчивая типом BigInt для работы с целыми числами произвольной точности. Более подробно об функция ECMAScript 2020 можно почитать в статье «10 новых функций ES2020, которые вы должны знать«

Была ли вам полезна эта статья?
[3 / 4.7]

Spread the love
Editorial Team

Recent Posts

Vue 3.4 Новая механика v-model компонента

Краткий перевод: https://vuejs.org/guide/components/v-model.html Основное использование​ v-model используется для реализации двусторонней привязки в компоненте. Начиная с Vue…

12 месяцев ago

Анонс Vue 3.4

Сегодня мы рады объявить о выпуске Vue 3.4 «🏀 Slam Dunk»! Этот выпуск включает в…

12 месяцев ago

Как принудительно пере-отобразить (re-render) компонент Vue

Vue.js — это универсальный и адаптируемый фреймворк. Благодаря своей отличительной архитектуре и системе реактивности Vue…

2 года ago

Проблемы с установкой сертификата на nginix

Недавно, у меня истек сертификат и пришлось заказывать новый и затем устанавливать на хостинг с…

2 года ago

Введение в JavaScript Temporal API

Каким бы ни было ваше мнение о JavaScript, но всем известно, что работа с датами…

2 года ago

Когда и как выбирать между медиа запросами и контейнерными запросами

Все, кто следит за последними событиями в мире адаптивного дизайна, согласятся, что введение контейнерных запросов…

2 года ago