TypeScriptのgetterとsetterの使い方

タイプスクリプト TypeScript

getterとsetterについて学んだのでアウトプットします。

getterとsetterとは

getterとsetterとはクラスで内で private や protected で定義されたものに対して外部からアクセスできるようにするメソッドです。

以下、参考です↓

getterメソッドとは - IT用語辞典
getterメソッド【ゲッターメソッド / getアクセサ】とは、オブジェクト指向プログラミングで、オブジェクト内部のメンバ変数(属性、プロパティ)を外部から読み取るために用意されたメソッド。メンバ変数をオブジェクト内部に隠蔽し、外部から直...

getterとsetterの書き方

getterとsetterは以下のように記述します。getterは値を返す必要があるため return で何かしらの値を返す必要があります。

get メソッド名(){
    return 〇〇;
} //getterには return で何かしらの値を返す必要があります。
set メソッド名(引数){ }
//setterには引数が必要です。

getterとsetterにアクセスする

実際にgetterとsetterにアクセスする例を見ていきます。

getter

getterにアクセスするには以下のように humamHeight.nowHeight と記述します。本来、メソッドにアクセスする場合「メソッド名()」と記述しますがgetterにアクセスする場合 () は必要ありません。

class Humam {
  private height: number;
  get nowHeight(){
    return this.height
  }
  addHeight(input:number){
    this.height = input;
  }
}

const humamHeight = new Humam();
humamHeight.addHeight(175); //getterの呼び出し
console.log(humamHeight.nowHeight); //175

setter

setterを使用する場合 humamHeight.inputHeight = 180; のように値を代入するような形で記入します。こちらも () は不要です。

class Humam {
  private height: number;
  get nowHeight(){
    return this.height
  }
  set inputHeight(value: number){
    this.addHeight(value);
  }
  addHeight(input:number){
    this.height = input;
  }
}

const humamHeight = new Humam();
humamHeight.inputHeight = 180; //setterの呼び出し
console.log(humamHeight.nowHeight); //180

getterとsetterを利用するすればより安全にクライス内のプロパティにアクセスすることができるようになります。

 

きせる

タクシー運転手を1年経験し、畑違いのエンジニアに転職。エンジニアに向いていないと思いつつ現在3年目。

きせるをフォローする
スポンサーリンク
TypeScript