gpt4 book ai didi

JavaScript get/set 方法与标准方法

转载 作者:数据小太阳 更新时间:2023-10-29 04:42:25 24 4
gpt4 key购买 nike

为什么 JavaScript 有两种不同的方法来获取/设置对象属性?

例子:

//implementation 1
var obj1 = {
"x":1,
get number() {return this.x},
set number(n) {this.x = n}
}

//implementation 2
var obj2 = {
"x":1,
getX: function(){return this.x},
setX: function(n){this.x = n}
}

一种实现方式是否比另一种有优势?

最佳答案

与普通方法不同,使用 getset 可以让您直接操作对象的属性(=== 更干净/更少的代码)——同时实际调用 getter 和 setter幕后方法。

var obj1 = {
"x":1,
get number() {console.log('get was called'); return this.x},
set number(n) {console.log('set was called'); this.x = n}
};

alert(obj1.number); // calls the getter (and prints to console)

obj1.number = 10; // calls the setter (and prints to console)

正如提到的另一个答案,根据您的目标浏览器设置决定赞成/反对使用它。

关于JavaScript get/set 方法与标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24796851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com