轉載node
項目實踐倉庫git
https://github.com/durban89/typescript_demo.git tag: 1.3.6
爲了保證後面的學習演示須要安裝下ts-node,這樣後面的每一個操做都能直接運行看到輸出的結果。github
npm install -D ts-node
後面本身在練習的時候能夠這樣使用typescript
npx ts-node 腳本路徑
使用枚舉咱們能夠定義一些帶名字的常量。 使用枚舉能夠清晰地表達意圖或建立一組有區別的用例。 TypeScript支持數字的和基於字符串的枚舉。npm
從技術的角度來講,枚舉能夠混合字符串和數字成員,可是彷佛你並不會這麼作:學習
enum BooleanLikeHeterogeneousEnum { No = 0, Yes = "YES", }
除非你真的想要利用JavaScript運行時的行爲,不然咱們不建議這樣作。spa
每一個枚舉成員都帶有一個值,它能夠是 常量或 計算出來的。 當知足以下條件時,枚舉成員被看成是常量:code
它是枚舉的第一個成員且沒有初始化器,這種狀況下它被賦予值 0:對象
// E.X is constant: enum E { X }
它不帶有初始化器且它以前的枚舉成員是一個 數字常量。 這種狀況下,當前枚舉成員的值爲它上一個枚舉成員的值加1。blog
enum E1 { X, Y, Z } enum E2 { A = 1, B, C }
枚舉成員使用 常量枚舉表達式初始化。 常數枚舉表達式是TypeScript表達式的子集,它能夠在編譯階段求值。 當一個表達式知足下面條件之一時,它就是一個常量枚舉表達式:
全部其它狀況的枚舉成員被看成是須要計算得出的值。
enum FileAccess { // 常量 None, Read= 1 << 1, Write = 1 << 2, ReadWrite = Read | Write, // 計算出來的 G = "123".length, }
本實例結束實踐項目地址
https://github.com/durban89/typescript_demo.git tag: 1.3.7