
ES2020, также известный как ECMAScript 2020, является последней версией языка JavaScript и был официально выпущен в июне 2020 года. Она включает в себя несколько новых функций, которые помогают улучшить работу разработчиков и сделать язык более выразительным.
1. Optional Chaining.
Это новый оператор, который помогает безопасно получить доступ к свойствам объекта без возникновения ошибки. Его можно использовать для проверки существования свойства объекта перед обращением к нему. Например:
const user = {
name: "John",
age: 30,
address: {
street: "123 Main St",
city: "New York"
}
};
const street = user?.address?.street;
console.log(street); // 123 Main St
2. Nullish Coalescing
Оператор nullish coalescing ?? возвращает операнд правой стороны, если операнд левой стороны равен нулю или не определен. Это сокращение распространенной схемы использования оператора || для предоставления значения по умолчанию, но с той разницей, что || учитывает и ложные значения, такие как 0 и «». Например:
const name = user.name || "Guest";
const name = user.name ?? "Guest";
3. BigInt.
BigInt — это новый числовой примитив, который может представлять целые числа с произвольной точностью. Он может использоваться для представления целых чисел, превышающих максимальное безопасное целое число в JavaScript, которое равно 2^53 — 1. BigInt создаются путем добавления n к концу числа:
const max = Number.MAX_SAFE_INTEGER;
console.log(max + 1 === max + 2); // true
const big = 9007199254740993n;
console.log(big + 1n === big + 2n); // false
4. Dynamic Import.
Динамический импорт — это новая функция, которая позволяет загружать модули динамически, что означает, что вы можете загружать модуль только тогда, когда он действительно необходим, а не во время выполнения вашего скрипта. Например:
async function loadModule() {
const module = await import('./module.js');
console.log(module.default);
}
loadModule();
5. globalThis.
Свойство globalThis — это новое дополнение к языку JavaScript, обеспечивающее стандартизированный способ доступа к глобальному объекту, независимо от среды, в которой выполняется код (например, браузер, Node.js и т.д.). Например:
console.log(globalThis); // the global object in your environment
В заключение можно сказать, что эти новые возможности ES2020 предоставляют новые и улучшенные способы написания более выразительного и эффективного кода. Каждая функция имеет свой конкретный случай использования, и стоит изучить и использовать их в своих проектах.

Оставьте комментарий