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

これは

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

参考

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

future-architect.github.io

クラス上級編

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

アクセッサ

昨日に引き続きアクセッサについてやっていきます。

検索しているとアクセサだったりアクセッサだったりで統一されていないのでどっちがいいんだろうか。
どちらも正しそうだけど、アクセッサなのかな。

JavaScriptでプライベートフィールドができたのは最近の話。
そのためメンバもメソッドも同じ空間に定義されている。
例えばsavaというプロパティを設定したい場合はメンバフィールドには_をつけて衝突を回避しないといけない。

class Gatya {
    // _sinsavaStringのように_をつける
    private _sinsavaString: string;

   get str(): string {
          return this._sinsavaString;
   }

   set str(value: string) {
       this._sinsavaString = value;
   }
}

TypeScriptはプロパティを直接操作するのをよしとする文化があるので
アクセッサのような物を使う場面は限られる。

public get / private setをやろうとするとNG出されるのでこの辺は素直に一致させておく方が良いらしい。
stackoverflow.com

今日はここまで。