91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript的空值合并運算符是什么

發布時間:2020-12-04 11:38:54 來源:億速云 閱讀:160 作者:小新 欄目:web開發

小編給大家分享一下JavaScript的空值合并運算符是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

今年ECMAScript 2020(ES2020)將發布!自 2015 年 ECMAScript 2015(ES6)發布以來,我們每年都對 JavaScript 語言進行更新。

目錄

  • 使用 JavaScript 空值合并運算符
  • 使用實例
  • 空值合并運算符與邏輯或(||
  • 瀏覽器支持
  • 總結

在ES2020中,我們獲得了在其他語言中( 如 C# 和 PHP)早已可用的功能:空值合并運算符。我一直喜歡這個名字,因為每當我說這個名字時,都會覺得自己很聰明。

空值合并運算符將會遍歷列表,并返回第一個不是  null  或  undefined 的值。

重要的是要注意,空值合并運算符僅查找 nullnull 值。空值合并運算符接受虛值(Falsy values)。

使用 JavaScript 空值合并運算符(??)

讓我們看一些例子。請記住,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

如果不確定某些值是否存在,上面是設置默認值的好方法。

空合并運算符與邏輯或(||

如果要消除虛值,可以用 邏輯或運算符 (||)。

本質上,它與空合并運算符的作用相同,只是它消除了虛值。
  • 空值合并運算符將跳過 nullundefined
  • 邏輯或運算符會跳過 nullundefinedfalse
false ?? 'hello'    // false
false || 'hello'    // 'hola'

如果你不想用要虛值,可以使用 ||。如果只想檢查是否為 nullundefined,就用 ??

瀏覽器支持

在撰寫本文時,最新版本的 Chrome、Firefox、Edge 和 Safari 可以使用空值合并運算符。

以上是“JavaScript的空值合并運算符是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐城市| 灌云县| 肃北| 乌兰浩特市| 张北县| 鹤峰县| 定边县| 永胜县| 沂南县| 江达县| 香格里拉县| 黄梅县| 交口县| 英德市| 武平县| 庆阳市| 买车| 原阳县| 青河县| 交口县| 堆龙德庆县| 漳州市| 信阳市| 荆门市| 确山县| 襄樊市| 郎溪县| 阳曲县| 邓州市| 阜阳市| 光泽县| 焉耆| 嘉定区| 九江市| 墨江| 琼结县| 弋阳县| 辽阳市| 兴仁县| 蛟河市| 孝昌县|