您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript的空值合并運算符是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
今年ECMAScript 2020(ES2020)將發布!自 2015 年 ECMAScript 2015(ES6)發布以來,我們每年都對 JavaScript 語言進行更新。
目錄
||
)在ES2020中,我們獲得了在其他語言中( 如 C# 和 PHP)早已可用的功能:空值合并運算符。我一直喜歡這個名字,因為每當我說這個名字時,都會覺得自己很聰明。
空值合并運算符將會遍歷列表,并返回第一個不是 null 或 undefined 的值。
重要的是要注意,空值合并運算符僅查找 null
或 null
值。空值合并運算符接受虛值(Falsy values)。
讓我們看一些例子。請記住,JavaScript 的空值合并運算符將遵循 ??
鏈,直到找到非空或未定義的對象。如果找到 false
,它將返回該值。
null ?? 'hi' // 'hi' undefined ?? 'hey' // 'hey' false ?? 'hola' // false 0 ?? 'bonjour' // 0 'first' ?? 'second' // first
在下面的例子中,我們在變量中存儲了一些值:
let person // <-- person is undefined here person ?? { name: 'chris' } // { name: 'chris' } const isActive = false isActive ?? true // false
鏈接 JavaScript 的空值合并運算符
JavaScript 的空值合并運算符的妙處在于,我們可以根據需要將其進行多次鏈接。
null ?? undefined ?? false ?? 'hello' // false null ?? '' ?? 'hello' // ''
可以在從外部來源獲取數據時使用。比如我們想從多個地方抓取博客的文章。然后可以確定哪個文章將會成為我們的精選帖子:
// 簡化代碼。 使用 fetch requires 需要比這更多的代碼 const firstBlogPost = await fetch('...') const secondBlogPost = await fetch('...') const defaultBlogPost = { title: 'Default Featured Post' } const featuredBlogPost = firstBlogPost ?? secondBlogPost ?? defaultBlogPost
如果不確定某些值是否存在,上面是設置默認值的好方法。
||
)如果要消除虛值,可以用 邏輯或運算符 (||
)。
本質上,它與空合并運算符的作用相同,只是它消除了虛值。
null
,undefined
null
,undefined
,false
false ?? 'hello' // false false || 'hello' // 'hola'
如果你不想用要虛值,可以使用 ||
。如果只想檢查是否為 null
或 undefined
,就用 ??
。
在撰寫本文時,最新版本的 Chrome、Firefox、Edge 和 Safari 可以使用空值合并運算符。
以上是“JavaScript的空值合并運算符是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。