仕事ですぐに使えるTypeScriptを読んでいくその40

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

クラス上級編

アプリ開発者は使わないかもしれないけど
ライブラリやフレームワーク開発者が使うかもしれないらしい。

アクセッサ

プロパティのように見えるが、実際はメソッド呼び出しが行われる。
 ・外部からは見えないprivateなプロパティ
 ・値を返すゲッター(getter)
 ・値を設定するセッター(setter)
C#とかでもあるget/setなんじゃないのかな...?

Vue.jsのTypeScriptのクラス用の実装方法では、ゲッターをcomputed propertyとして扱いますので、Vue.jsユーザーに関しては積極的に使うことになるでしょう。

って書いてあるようにVue.jsの人は使うけどポジションによっては全く見ないものなのかもしれない。

class BankAccount {
  private _money: number;

  get money(): number {
    return this._money ^ 0x4567;
  }

  set money(money: number) {
    this._money = money ^ 0x4567;
  }
}

const account = new BankAccount()

// 1000円入れた!
account.money = 1000;

// 表示すると...
console.log(account);
//   BankAccount { _money: 18063 }

// 金額を参照すると正しく出力
console.log(account.money);
// 1000

アクセサについては色々書いているのを見つけたのでもう何回かかけて見ていきたいと思います。

今日はここまで。