5 个一定要学会的 JavaScript 新特性
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
?. 的一般用法
obj?.prop 对象属性
obj?.[expr] 对象属性
func?.(...args) 执行函数
5.# 使用"BigInt"支持大数计算
JS中超过“Number.MAX_SAFE_INTEGER”的数字计算将是不安全的。
Example:
使用"BigInt"完全可以避免这个问题