JavaScript中的getter和setter的用途是什么?

问题描述 投票:0回答:1

firstNamelastName属性值可以通过使用点符号(person.firstName和person.lastName)轻松更改,因此JavaScript中的getter和setter的用途是什么?

尽管关于SO的这个主题有几个问题,但他们都没有谈论它们在JavaScript中的用途。

const person = {
    firstName: 'Stacky',
    lastName: 'Flow',
    get fullName() {
        return `${person.firstName} ${person.lastName}`
    },
    set fullName(value) {
        const parts = value.split(' ');
        this.firstName = parts[0];
        this.lastName = parts[1];
    }
};

person.fullName = 'Agile Friend';
javascript oop getter-setter
1个回答
0
投票
第二种属性是新事物。它是访问器属性。它们本质上是用于获取和设置值的功能,但看起来像是外部代码的常规属性。

访问器属性由“ getter”和“ setter”方法表示。在对象文字中,它们用get和set表示:

实施例:

let obj = { get propName() { // getter, the code executed on getting obj.propName }, set propName(value) { // setter, the code executed on setting obj.propName = value } };

getter属性用于获取值,setters值将值设置为任何控件或字段。

© www.soinside.com 2019 - 2024. All rights reserved.