新建enum.ts並在jindex.ts中引用函數
一個簡單的數字枚舉編碼
能夠經過兩種方式獲取枚舉的值3d
獲取到編碼,第一個默認爲0,後面的一次遞增對象
第二種形式blog
能夠本身制定編碼,那麼後面的一次遞增接口
所有一次遞增的結果ip
制定中間的爲2 那麼第一個仍是0 ,2後面的會遞增字符串
也能夠單獨指定,能夠隨便指定,不必定按照從小到大的順序編譯
能夠定義一個常量,把常量賦值給枚舉bfc
也能夠定義函數
某個字段使用的計算值,或者是常量。它後面的枚舉必需要設置初始值
它後面的枚舉必需要設置上值
一個枚舉不只能夠經過他的字段名獲取枚舉的值,還能夠經過值獲得它的字段名
ts的代碼編譯成通常的js代碼
打印定義的枚舉值對象
定義字符串枚舉的時候,既可使用字符串常量,也可使用枚舉裏面的字段
既包含數字又包含字符串的枚舉。不建議使用異構枚舉。根據本身的需求,儘量少的使用異構枚舉
知足這三個條件枚舉這就能夠作爲類型來使用
第一種,枚舉成員類型。Anmimals.Dog就是做爲類型來使用
聲明一個dog類,這裏的Anmimals.Dog的值就是1 因此這裏咱們直接寫1也是能夠的
這裏寫成Anmimals.Cat就會報錯,由於在聲明dog的時候,指定了類型是接口Dog裏面的type是Animals.Dog類型的也就是隻爲1
聯合枚舉類型
若是咱們用剛纔的Animals.Dog也是會報錯的,這個就是聯合枚舉類型
一個枚舉值編譯完成後就是一個真實的對象,因此咱們能夠在代碼的運行時中使用這個枚舉值的,就能夠把它當作一個比較豐富的對象
枚舉前面加上const之後,它就不會把咱們的枚舉值編譯成一個js中真實存在的對象
咱們在使用枚舉值只是提升咱們代碼的可讀性
const去掉之後,枚舉值編譯爲真實的js就會變成一個對象。dog的取值就是從按個對象上取的值