5 個一定要學(xué)會的 JavaScript 新特性
JavaScript在不斷地升級迭代,越來越多的新特性讓我們的代碼寫起來變得簡潔有趣,這篇文章會介紹5個新特性,一起研究一下把。
1.# 使用"Object.hasOwn"替代“in”操作符
有時,我們想知道對象上是否存在某個屬性,一般會使用“in”操作符“obj.hasOwnProperty”,但它們都有各自的缺陷。
in
如果指定的屬性位于對象或其原型鏈中,“in”運算符將返回true。
obj.hasOwnProperty
hasOwnProperty
?方法會返回一個布爾值,表示對象自身屬性中是否具有對應(yīng)的值(原型鏈上的屬性不會讀?。?/p>
obj.hasOwnProperty
已經(jīng)可以過濾掉原型鏈上的屬性,但在某些情況下,它還是不安全。
Object.hasOwn
別急,我們可以使用Object.hasOwn
來避免這兩個問題,這比“obj.hasOwnProperty”方法更加方便、安全。
2.# 使用"#"聲明私有屬性
以前,我們一般用_
表示私有屬性,但它并不靠譜,還是會被外部修改。
使用“#”實現(xiàn)真正私有屬性
3.# 超有用的"數(shù)字分隔符"
直接看例子,驚呆了我...
當(dāng)然也可以使用"_"用于計算
4.# 使用 ?.?簡化 && 和 三元運算符
這些例子,你一定非常熟悉,咱們有辦法可以簡化它嗎?
“?.”
Tips
?.?的一般用法
obj?.prop 對象屬性
obj?.[expr] 對象屬性
func?.(...args) 執(zhí)行函數(shù)
5.# 使用"BigInt"支持大數(shù)計算
JS中超過“Number.MAX_SAFE_INTEGER”的數(shù)字計算將是不安全的。
Example:
使用"BigInt"完全可以避免這個問題
標(biāo)簽: