TypeScript本の5章ではコンパイル後のJSファイルを読めるようにJavaScriptの仕様について解説されています。 Object.defineProperty()というメソッド、ご存知でしょうか。 このメソッドは主に書き換え不可能なオブジェクトプロパティを定義するため使います。 これ、今まで知りませんでした・・ ってことで、ここらへんをサイ本を見ながら復習してみます。 Object.defineProperty()とは ECMAScript5からオブジェクトのプロパティに、値以外にある設定を付与することができるようになっています。 設定というのは、 書き込み可能か 列挙可能か 再定義可能か という情報になります。 Chromeのコンソールに以下のコードを貼り付けて実行すると、このような結果が得られます。 // これを貼り付けると Object.getOwnPropertyDesc