📜  JavaScript Getter和Setter(1)

📅  最后修改于: 2023-12-03 14:42:25.021000             🧑  作者: Mango

JavaScript Getter和Setter

在JavaScript中,Getter和Setter是一种属性访问器,它们为访问对象属性提供了一种更为灵活的方式。Getter用于获取对象的属性值,Setter用于设置对象的属性值。

Getter

Getter用于获取对象的属性值,它会在访问属性时自动调用。Getter声明的语法如下:

get propertyName() {
    // 代码块
}

其中,propertyName为属性名,// 代码块中定义了获取该属性值的代码。Getter没有参数,调用时直接通过属性名调用即可。

下面是一个使用Getter的示例:

const person = {
    firstName: 'John',
    lastName: 'Doe',
    get fullName() {
        return this.firstName + ' ' + this.lastName;
    }
};

console.log(person.fullName); // 输出 "John Doe"
Setter

Setter用于设置对象属性的值,它会在设置属性值时自动调用。Setter声明的语法如下:

set propertyName(value) {
    // 代码块
}

其中,propertyName为属性名,value为将要设置的属性值,// 代码块中定义了设置属性值的代码。Setter只有一个参数,直接通过属性名调用时,需要将属性值作为参数传入。

下面是一个使用Setter的示例:

const person = {
    firstName: 'John',
    lastName: 'Doe',
    set fullName(value) {
        const [first, last] = value.split(' ');
        this.firstName = first;
        this.lastName = last;
    }
};

person.fullName = 'Jane Doe';
console.log(person.firstName); // 输出 "Jane"
console.log(person.lastName); // 输出 "Doe"
总结

在JavaScript中,Getter和Setter提供了一种更为灵活的访问对象属性的方式。Getter用于获取属性值,Setter用于设置属性值。Getter和Setter的声明和访问方式都比较简单,程序员可以通过它们便捷地实现一些常见的操作,如数据验证和数据转换等。