TypeScript の const enum でちょろっとハマった
読了まで:約0分
まあ、ハマってたと言ってもちょっとだけなんですが、
に書かれているconst enum
の仕様を把握していなくて、
TypeScript で export した enum が undefined になってコードが動かん。なんでや?
ってなってました。 で、詳しい話は、上記リンク先のサンプルコード読めば判るんですが、今日ハマっていた内容としては、
export const enum Foo { Bar = 1 };
とかしていると、これが Foo.Bar
と言う定数の宣言みたいになって、TypeScript から JavaScript へ emit する時に、
その定数みたくなっている Foo.Bar
がインライン展開され JavaScript からは Foo.Bar
が見えなくなる、という TypeScript の仕様にハマった、という話です。
ま、言語仕様とかはキチンと把握しとけって話ですね。はい。