欢迎光临散文网 会员登陆 & 注册

5 个一定要学会的 JavaScript 新特性

2022-09-30 17:30 作者:要宠你上天  | 我要投稿

JavaScript在不断地升级迭代,越来越多的新特性让我们的代码写起来变得简洁有趣,这篇文章会介绍5个新特性,一起研究一下把。


1.# 使用"Object.hasOwn"替代“in”操作符


有时,我们想知道对象上是否存在某个属性,一般会使用“in”操作符“obj.hasOwnProperty”,但它们都有各自的缺陷。

in

如果指定的属性位于对象或其原型链中,“in”运算符将返回true。


obj.hasOwnProperty

hasOwnProperty 方法会返回一个布尔值,表示对象自身属性中是否具有对应的值(原型链上的属性不会读取)。


obj.hasOwnProperty已经可以过滤掉原型链上的属性,但在某些情况下,它还是不安全。


Object.hasOwn

别急,我们可以使用Object.hasOwn来避免这两个问题,这比“obj.hasOwnProperty”方法更加方便、安全。


2.# 使用"#"声明私有属性


以前,我们一般用_表示私有属性,但它并不靠谱,还是会被外部修改。


使用“#”实现真正私有属性


3.# 超有用的"数字分隔符"


直接看例子,惊呆了我...


当然也可以使用"_"用于计算

4.# 使用 ?. 简化 && 和 三元运算符


这些例子,你一定非常熟悉,咱们有办法可以简化它吗?


“?.”


Tips

?. 的一般用法

  1. obj?.prop 对象属性

  2. obj?.[expr] 对象属性

  3. func?.(...args) 执行函数


5.# 使用"BigInt"支持大数计算


JS中超过“Number.MAX_SAFE_INTEGER”的数字计算将是不安全的。

Example:


使用"BigInt"完全可以避免这个问题


5 个一定要学会的 JavaScript 新特性的评论 (共 条)

分享到微博请遵守国家法律