gpt4 book ai didi

javascript - 使用 getter 和 setter 与在 javascript 中定义属性

转载 作者:行者123 更新时间:2023-11-29 14:49:43 25 4
gpt4 key购买 nike

除了编码风格之外,还有什么优点/缺点:

Circle.prototype = { radius : 10};
Object.defineProperty(Circle.prototype, 'circumference', {
get: function() { return 2*Math.PI*this.radius; }
});

对比

Circle.prototype = {
radius : 10,
get circumference() { return 2*Math.PI*this.radius; }
}

最佳答案

在属性定义中,JavaScript 通过内部方法DefineOwnProperty 处理它,其中赋值由内部方法Put 处理。简而言之,第二个检查属性是否是只读的,如果是,则导致拒绝。这在使用只读属性时可能会产生后果,这会阻止赋值,但不会定义。

如果你想创建一个新属性,最好使用定义。如果要更改属性的值,可以使用赋值。

看看here阅读更多非常有趣的文章。

编辑:事实上,defineProperty 用于定义只读属性等原因以及有关所定义属性行为的其他原因。在这里查看 more也是。

关于javascript - 使用 getter 和 setter 与在 javascript 中定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27549015/

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