Рубрики
Без рубрики

10 новых функций JavaScript в ES2020, которые вы должны знать

Хорошие новости – новые функции ES2020 теперь доработаны! Это означает, что теперь у нас есть полное представление об изменениях, происходящих в ES2020, новую и улучшенную спецификацию JavaScript. Итак, давайте посмотрим, какие эти изменения. # 1: BIGINTBIGINT, одна из самых ожидаемых функций в JavaScript, наконец здесь.

Автор оригинала: FreeCodeCamp Community Member.

Хорошие новости – новые функции ES2020 теперь доработаны! Это означает, что теперь у нас есть полное представление об изменениях, происходящих в ES2020, новую и улучшенную спецификацию JavaScript. Итак, давайте посмотрим, какие эти изменения.

Bigint, одна из самых ожидаемых функций в JavaScript, наконец здесь. Он на самом деле позволяет разработчикам иметь гораздо большее целочисленное представление в своем коде JS для обработки данных для обработки данных.

На данный момент максимальное количество вы можете хранить как целое число в JavaScript, это POW (2, 53) - 1 Отказ Но Bigint на самом деле позволяет вам идти даже за это.

Тем не менее, вам нужно иметь N Прилагается в самом конце номера, как вы можете видеть выше. Это N Обозначает, что это Bigint и следует обрабатывать по-разному с помощью JavaScript Engine (двигателем V8 или любой двигатель, который он использует).

Это улучшение не совместимо в обратном направлении, потому что традиционная система чисел представляет собой IEEE754 (которая просто не может поддерживать номера этого размера).

Динамический импорт в JavaScript предоставляет вам возможность динамически импортировать файлы JS в качестве модулей в вашем приложении. Это так же, как вы делаете это с WebPack и Babel в данный момент.

Эта функция поможет вам отправить код запроса на спрос-запрос, лучше известный как расщепление кода, без накладных расщеплений или других модулей Bundlers. Вы также можете условно загружать код в блоке, если хотите.

Хорошо, что вы на самом деле импортируете модуль, и поэтому он никогда не загрязняет глобальное пространство имен.

Nullish Coalescing добавляет способность действительно проверять Nullish Значения вместо Falsy значения. В чем разница между Бычье и Falsy Значения, вы можете спросить?

В JavaScript много ценностей Falsey , как пустые строки, число 0, undefined , null , ложь , Нан , и так далее.

Тем не менее, много раз вы можете проверить, является ли переменную Nullish – то есть если это либо undefined или null , Как будто, когда это нормально для переменной иметь пустую строку или даже ложное значение.

В этом случае вы будете использовать новый Nullish Coalescing Operator, ??

Вы можете четко видеть, как оператор или оператор всегда возвращает правдоподобное значение, тогда как Nullish оператор возвращает ненульши.

Необязательный синтаксис цепи позволяет получить доступ к глубоко вложенным свойствам объекта без беспокойства, если свойство существует или нет. Если он существует, отлично! Если нет, undefined будет возвращено.

Это не только работает на объектных свойствах, но и на функциональных вызовах и массивах. Супер удобно! Вот пример:

Обещание. ASLSetleded Метод принимает массив обещаний и разрешается только тогда, когда все они урегулируются – либо разрешены, либо отклонены.

Это было недоступно в результате чего раньше, хотя некоторые тесные реализации, такие как Гонка и Все были доступны. Это приводит «Просто пробежать все обещания – мне не волнует результаты» в JavaScript.

Matchall добавлен новый метод Строка Прототип, который связан с регулярными выражениями. Это возвращает итератор, который возвращает все соответствующие группы один за другим. Давайте посмотрим на быстрый пример:

Если вы написали несколько кроссплатформенных JS-кода, который мог бы запустить на узле, в среде браузера, а также внутри веб-работников, у вас будет трудно получить глобальный объект.

Это потому, что это окно Для браузеров глобальный Для узла и Я для веб-работников. Если есть больше занятий, глобальный объект будет отличаться для них.

Таким образом, вам пришлось бы иметь собственную реализацию обнаружения времени выполнения, а затем, используя правильный глобальный – то есть до сих пор.

ES2020 приносит нам Globalthis Что всегда относится к глобальному объекту, независимо от того, где вы выполняете свой код:

В JavaScript модулях уже можно было использовать следующий синтаксис:

import * as utils from './utils.mjs'

Однако нет симметричной Экспорт Синтаксис существовал до сих пор:

export * as utils from './utils.mjs'

Это эквивалентно следующим:

import * as utils from './utils.mjs'
export { utils }

Спецификация ECMA не указывала, в каком порядке для (x в Y) должен работать. Несмотря на то, что браузеры реализовали последовательный заказ самостоятельно, это было официально стандартизировано в ES2020.

Import.meta Объект был создан реализацией Ecmascript, с помощью null опытный образец.

Рассмотрим модуль, module.js :


Вы можете получить доступ к мета-информации о модуле, используя Import.meta объект:

console.log(import.meta); // { url: "file:///home/user/module.js" }

Это возвращает объект с URL Свойство, указывающее на базовый URL модуля. Это будет либо URL-адрес, из которого был получен скрипт (для внешних скриптов), либо базовый URL-адрес документа содержащего документ (для встроенных скриптов).

Я люблю консистенцию и скорость, с которой развивалось сообщество JavaScript и развивается. Удивительно и действительно замечательно, чтобы увидеть, как JavaScript пришел с языка, который был наносят, 10 лет идут, на один из самых сильных, самых гибких и универсальных языков всех времен сегодня.

Хотите узнать JavaScript и другие языки программирования совершенно новым способом? Голова к Новая платформа для разработчиков Я работаю над тем, чтобы попробовать это сегодня!

Какая твоя любимая особенность ES2020? Расскажите мне об этом, Tweeting и подключение со мной на Twitter и Instagram !

Это пост блога, составленный из моего видео, которое находится на той же теме. Это будет означать для меня мир, если бы вы могли показать это немного любви!