【TypeScript】Setterとは何ですか?
TypeScript

【TypeScript】Setterとは何ですか?

作成日:2021年08月14日
更新日:2021年08月14日

前回は、TypeScript の Getter を紹介しました。

今回は、TypeScript の Getter を紹介します。

前回作成したProfileクラスにaddressを追加しました。

ts
class Profile {
public name: string;
private age: number;
private address: string;
constructor(name: string, age: number, address: string) {
this.name = name;
this.age = age;
this.address = address;
}
}
let tanaka = new Profile("田中", 23, "埼玉県");

addressのアクセス修飾子はprivateなので、外部から呼び出すことができません。

image2

getterでは呼び出すことができても更新ができません。

更新を行うには、setterを使います。

方法は、Profileクラス内にsetterメソッドを作成します。

ts
class Profile {
public name: string;
private age: number;
private _address: string;
constructor(name: string, age: number, address: string) {
this.name = name;
this.age = age;
this._address = address;
}
set address(address: string) {
this._address = address;
}
}

tanaka._addressを確認すると、

image3

privateなので、呼び出しができておりません。

試しに呼び出すためのeditAddressメソッドを作ってみます。

ts
class Profile {
public name: string;
private age: number;
private _address: string;
constructor(name: string, age: number, address: string) {
this.name = name;
this.age = age;
this._address = address;
}
set address(address: string) {
this._address = address;
}
editAddress() {
return this._address;
}
}

では、address の『埼玉県』を『千葉県』にしてみます。

ts
let tanaka = new Profile("田中", 23, "埼玉県");
tanaka.address = "千葉県";

image4

エラーが発生していないようです。

console.log();で確認すると、

ts
console.log(tanaka.editAddress());

image5

『埼玉県』から『千葉県』に更新することができました。

© 2024あずきぱんウェブスタジオ