奇怪的語法,`?.` 在 JavaScript 中是什麼意思?
讓我們嘗試透過一個例子來理解‘?.’。
考慮以下物件示例,描述了一個 23 歲的男性人類 −
const being = {
human: {
male: {
age: 23
}
}
};現在讓我們假設我們要訪問這個 being 物件的 age 屬性。很簡單,對吧?我們只需使用鏈式操作來訪問,就像下面的程式碼一樣 −
示例
const being = {
human: {
male: {
age: 23
}
}
};
console.log(being.human.male.age);輸出
控制檯輸出如下 −
23
現在假設出於某些技術原因,你將 being物件的 male 屬性更改為 female 或其他內容。
現在,我們的鏈式語句會發生什麼,它將產生一個 typeError,指出無法訪問 human 的未定義屬性。在這種情況下,有沒有辦法讓我們的程式碼不丟擲任何錯誤。是的,這正是‘?.’也就是可選連結來拯救我們的地方。
可選鏈式非常簡單,在正常情況下它表現得像正常的鏈式,但是當我們嘗試訪問未定義的任何屬性時,它不會讓我們的程式碼丟擲一個錯誤,而是立即終止鏈式並返回未定義,以便剩下的程式碼塊正常執行。
考慮我們上一個例子(可選鏈式) −
示例
const being = {
human: {
male: {
age: 23
}
}
}
console.log(being?.human?.female?.age);輸出
輸出不會丟擲錯誤,而是 −
undefined
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP