CreateLife ~AlwaysLatest~

getterとsetter

JavaScript

そもそも

使わなくても良い機能

getterとは何か

メソッドをプロパティの様に扱うためのもの

const calculator = {
	size: 60,
	member: 4,
	// totalにsize*memberの値を設定したい時
	// 通常
	total() {
		return this.size * this.member;
	} 
	// getterを使う
	get total() {
		return this.size * this.member;
	}
}
// 通常のアクセス
console.log(calculator.total()); // 240
// getterで記述したアクセス
console.log(calculator.total); // 240

setterとは何か

getterに値をセットするために用意するもの

const calculator = {
	size: 60,
	member: 4,
	get total() {
		return this.size * this.member;
	},
	// ↓これがsetter
	set total(newValue) {
		this.member = newValue / this.size;
	}
}
// setterが定義してあるので下記がエラーにならず、600がsetterのnewValueに入る
calculator.total = 600;
// setterが動作してmemberの値が更新され、totalの値も変更される
console.log(calculator.total); // 600
console.log(calculator.member); // 10