javascript - 傻瓜的 Getter\setter

标签 javascript setter getter

我一直在尝试了解 getter 和 setter,但没有深入理解。我读过 JavaScript Getters and SettersDefining Getters and Setters只是没有得到它。

有人可以清楚地说明:

  1. getter 和 setter 的用途,以及
  2. 举一些非常简单的例子?

最佳答案

除了 @millimoose's answer ,setter 也可用于更新其他值。

function Name(first, last) {
    this.first = first;
    this.last = last;
}

Name.prototype = {
    get fullName() {
        return this.first + " " + this.last;
    },

    set fullName(name) {
        var names = name.split(" ");
        this.first = names[0];
        this.last = names[1];
    }
};

现在,您可以设置fullNamefirstlast将被更新,反之亦然。

n = new Name('Claude', 'Monet')
n.first # "Claude"
n.last # "Monet"
n.fullName # "Claude Monet"
n.fullName = "Gustav Klimt"
n.first # "Gustav"
n.last # "Klimt"

关于javascript - 傻瓜的 Getter\setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33002538/

相关文章:

javascript - 在 javascript 中强制执行 new 的模式

javascript - 计算浏览器滚动条的大小

go - Setter 不在模型中工作

c# - 在 C# 中,如何将默认获取与显式设置混合使用?

Kotlin 重命名生成的 Getter 和 Setter

java - 将 Java 移植到 Javascript、Getter 和 Setter 与直接访问

javascript - 如何在使用滚动上下移动元素时将元素停在页脚行

javascript - ng-options 其中一个的选择决定了另一个的选项

domain-driven-design - Domen 驱动的架构和用户拼写错误/错误

java.lang.RuntimeException : Found conflicting getters for name isImportantForAccessibility on class androidx. appcompat.widget.AppCompatImageView