TypeScriptリファレンス Ver1.0対応 4-4 Enumのサンプルコードで--noiImplicitAnyをつけてるとコンパイルエラー
TypeScriptリファレンス Ver.1.0対応の4-4 Enumのサンプルコードでtscに--noImplicitAnyをつけてるとコンパイルエラー。
enum Suit { Spade, Heart, Club, Diamond } var s1: Suit = Suit.Spade; var s2: number = s1; var s3: string = Suit[s2]; var s4: number = Suit[s3]; //↑ error TS7017: Index signature of object type implicitly has an 'any' type. console.log(s1, s2, s3, s4);
通るように。
var s4: number = Suit.Spade; //又は var s4: number = Suit["Spade"];
備忘録。enumが吐き出すjsのメモ
var Suit; (function (Suit) { Suit[Suit["Spade"] = 0] = "Spade"; Suit[Suit["Heart"] = 1] = "Heart"; Suit[Suit["Club"] = 2] = "Club"; Suit[Suit["Diamond"] = 3] = "Diamond"; })(Suit || (Suit = {})); //なのでSuitはこうなる。 {0: "Spade", 1: "Heart", 2: "Club", 3: "Diamond", Spade: 0, Heart: 1, Club: 2, Diamond: 3}