JavaScript中的getter和setter是一種特殊的方法,用于獲取和設置對象的屬性值。以下是使用getter和setter的示例:
const obj = {
_name: 'Alice', // 私有屬性
// getter方法
get name() {
return this._name;
},
// setter方法
set name(value) {
this._name = value;
}
};
console.log(obj.name); // 輸出:Alice
obj.name = 'Bob'; // 設置name屬性的值
console.log(obj.name); // 輸出:Bob
在上面的示例中,obj
對象的name
屬性使用了getter和setter方法。getter方法的名稱是get
后面加上屬性名(例如getName
),它沒有參數并返回屬性的值。setter方法的名稱是set
后面加上屬性名(例如setName
),它有一個參數用于設置屬性的值。
在getter和setter方法內部,可以使用this
關鍵字來引用對象本身。在getter方法中,我們直接返回私有屬性_name
的值。在setter方法中,我們將傳入的值賦給私有屬性_name
。
使用getter和setter方法的好處是可以在獲取和設置屬性值時執行額外的邏輯。例如,可以添加屬性值的驗證、轉換等操作。