1. ホーム
  2. javascript

[解決済み] ECMAScript 6のクラスでゲッターとセッターは何のためにあるのですか?

2022-11-01 08:35:36

質問

ECMAScript 6 のクラスにおいて、ゲッターとセッターは何のためにあるのか、混乱しています。目的は何ですか?以下は、私が参照している例です。

class Employee {

    constructor(name) {
        this._name = name;
    }

    doWork() {
        return `${this._name} is working`;
    }

    get name() {
        return this._name.toUpperCase();
    }

    set name(newName){
        if(newName){ 
            this._name = newName;
        }
    }
}

どのように解決するのですか?

これらのセッターとゲッターを使えば、(括弧を使わずに)直接プロパティを使用することができます。

var emp = new Employee("TruMan1");

if (emp.name) { 
  // uses the get method in the background
}

emp.name = "New name"; // uses the setter in the background

これはプロパティの値を設定・取得するだけです。