読者です 読者をやめる 読者になる 読者になる

TypeScriptリファレンス Ver1.0対応 4-4 Enumのサンプルコードで--noiImplicitAnyをつけてるとコンパイルエラー

JavaScript

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}