官术网_书友最值得收藏!

5.4.2 字符串枚舉

字符串枚舉與數(shù)值型枚舉相似。在字符串枚舉中,枚舉成員的值為字符串。字符串枚舉成員必須使用字符串字面量或另一個(gè)字符串枚舉成員來初始化。字符串枚舉成員沒有自增長的行為。示例如下:


01 enum Direction {
02     Up = 'UP',
03     Down = 'DOWN',
04     Left = 'LEFT',
05     Right = 'RIGHT',
06 
07     U = Up,
08     D = Down,
09     L = Left,
10     R = Right,
11 }

字符串枚舉是string類型的子類型,因此允許將字符串枚舉類型賦值給string類型。例如,下例中常量direction為string類型,可以使用字符串枚舉Direction來初始化direction常量:


01 enum Direction {
02     Up = 'UP',
03     Down = 'DOWN',
04     Left = 'LEFT',
05     Right = 'RIGHT',
06 }
07 
08 const direction: string = Direction.Up;

但是反過來,不允許將string類型賦值給字符串枚舉類型,這一點(diǎn)與數(shù)值型枚舉是不同的。例如,下例中將字符串“'UP'”賦值給字符串枚舉類型的常量direction將產(chǎn)生編譯錯(cuò)誤:


01 enum Direction {
02     Up = 'UP',
03     Down = 'DOWN',
04     Left = 'LEFT',
05     Right = 'RIGHT',
06 }
07 
08 const direction: Direction = 'UP';
09 //    ~~~~~~~~~
10 //    編譯錯(cuò)誤!類型 'UP' 不能賦值給類型 'Direction'

主站蜘蛛池模板: 华宁县| 麦盖提县| 报价| 驻马店市| 开江县| 友谊县| 孝感市| 泗阳县| 东明县| 东方市| 永登县| 文成县| 永川市| 巴楚县| 莱州市| 琼结县| 津市市| 改则县| 突泉县| 延边| 聂拉木县| 平遥县| 嵩明县| 昌江| 甘德县| 东丰县| 孙吴县| 盱眙县| 鄱阳县| 南京市| 五原县| 武平县| 宜兰市| 罗源县| 布尔津县| 肇庆市| 临漳县| 常宁市| 灵石县| 定陶县| 梓潼县|