前言
作为最为常用的编程语言之一,JavaScript 年复一年地更新版本,这样持续的更新对于开发者来说是一个巨大的挑战,因此快速取得最新的知识非常重要,这里列举了 JavaScript ES2020+ 新特性,并提供了示例代码,希望能为学习 JavaScript 的人提供帮助。
空值协定操作符(Nullish Coalescing Operator)
新的空值协定操作符(??)可以用于默认值。该操作符返回第一个定义的变量,它不是 null 或 undefined。可以用来代替三元运算符,使代码更加简洁可读。
const foo = null ?? 'default value'; console.log(foo); // 'default value' const bar = undefined ?? 'default value'; console.log(bar); // 'default value' const baz = 0 ?? 'default value'; console.log(baz); // 0
可选链操作符(Optional Chaining)
可选链操作符(?.)可以避免抛出错误,使代码更加健壮。在访问对象的深层属性时,如果该属性不存在,则返回 undefined,而不是抛出错误。
-- -------------------- ---- ------- ----- ---- - - --- ---- ----- ------ --------- - ------ ------------------ ------ -------------- - -- --------------------------------- -- ----------------- ----------------------------------- -- --------- ------------------------------------------ -- ---------
使用可选链操作符:
console.log(user?.contacts?.address?.street); // undefined
如果 contacts 属性不存在,也不会报错。
BigInt
用于创建任意长度整数的新类型 BigInt。可以使用 n 后缀来定义 BigInt 类型的变量或常量。
const bigInt = 9007199254740991n; console.log(bigInt + 5n); // 9007199254740996n console.log(typeof bigInt); // 'bigint'
Promise.allSettled()
Promise.allSettled() 与 Promise.all() 不同。当所有 promise 解决或拒绝时,allSettled() 返回一个数组,数组包含每个 promise 视为已解决或已拒绝情况的信息。
-- -------------------- ---- ------- ----- -------- - - ---------------------------- --------------------------- ------------------------- ------- -- ---------------------------- ------------- -- ---------------------- -- -------------------------- --------------- ----------------------
逻辑赋值运算符(Logical Assignment Operators)
逻辑赋值运算符(&&= 和 ||=)将逻辑操作符(&& 和 ||)和赋值操作符(=)组合在一起。当它们与变量一起使用时,通常作为一种简写方式使用。
let x, y = 1; x &&= 2; console.log(x); // undefined(x 未赋值) y ||= 3; console.log(y); // 1(y 已赋值)
双重感叹号(Double Bang)
双重感叹号(!!)用于将转换为布尔值 true 或 false 的值显示为实际的布尔值。它可以用于判断一个非空数组、非空字符串或非零数字。
-- -------------------- ---- ------- ------------------ -- ----- ----------------- -- ----- ------------------- -- ----- -------------------- -- ----- ------------------------- -- ----- ----------------------- -- ---- ------------------- -- ---- ------------------ -- ----
总结
本文提供了 JavaScript ES2020+ 新特性的简介和示例代码,这些新特性可以帮助开发者在实际开发中提高效率,使用这些新特性可以让代码更加简洁可读,也能够避免一些潜在的错误和异常。
希望本文能对您对于 JavaScript 的学习和工作有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64819dc548841e989411784c