"use strict"; var Color; (function (Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Green"] = 1] = "Green"; Color[Color["Blue"] = 2] = "Blue"; })(Color || (Color = {})); console.log(Color.Red); // 0 console.log(Color[0]); // "Red"(双方向マッピング) このように、enum は 双方向マッピング(数値→文字列、文字列→数値の両方の変換)を持つオブジェクトに展開されます。この動作は enum の可読性を上げるためですが、コードサイズが増え、意図しない挙動の原因にもなります。 2. JavaScriptの標準機能と相性が悪い TypeScript の en
