Optional Chaining(可選鏈) | Javascript
JavaScript 中的 Optional Chaining(可選鏈) 是一種語法,用於簡化對可能為undefined或null的屬性或方法的訪問。這種語法在處理物件或陣列的多層屬性時特別有用,可以避免因為中途某一個屬性為undefined或null而導致程式出錯。
基本語法:
object 是一個物件,property 是該物件上的屬性。
使用Optional Chaining,當object為undefined或null時,整個表達式的值會被設置為undefined,而不會產生錯誤。
如果object存在且具有property屬性,則獲取該屬性的值。
const value = object?.property;
物件屬性範例:
city的值將是"user.address.city"的值,但如果user或address其中之一為undefined,則city將被設置為undefined,而不會拋出錯誤。
const user = {
name: "John",
address: {
street: "123 Main St",
city: "Example City"
}
};
const city = user?.address?.city; // 如果user或address為undefined,city將為undefined
方法調用範例:
method 是object上的一個方法。
使用Optional Chaining,即使object是undefined或null,也不會導致錯誤。
如果object存在且具有method方法,則調用該方法;否則result將為undefined。
const result = object?.method?.();
適用於陣列:
Optional Chaining 也適用於陣列的索引訪問:
array 是一個陣列,index 是索引。
如果array是undefined或null,或者index超出陣列範圍,則value將為undefined。
const value = array?.[index];
Optional Chaining 是自ECMAScript 2020(ES11)引入的新功能,它提供了一種優雅而安全的方式來處理可能為undefined或null的屬性或方法。
Tags