第一階段.模塊二:學習筆記-TypeSrcipt的枚舉

文章內(nèi)容輸出來源:拉勾教育大前端高薪訓練營
文章說明:文章內(nèi)容為學習筆記抛人,學徒之心弛姜,僅為分享; 如若有誤,請在評論區(qū)指出妖枚,如若您覺得文章內(nèi)容對您有一點點幫助廷臼,請點贊、關注绝页、評論荠商,共享

上一篇:第一階段.模塊二:學習筆記-TypeSrcipt的類
下一篇:第一階段.模塊二:學習筆記-TypeSrcipt的類型推論和兼容性

ts 中的枚舉

枚舉可以看成一個字典
注 1:使用關鍵字 【enum】 來定義枚舉
注 2:枚舉變量的首字母最好大寫
注 3:枚舉里面的元素的 key 最好大寫

1-ts 中的數(shù)字枚舉
默認枚舉的索引:
enum Role {
    SUPPER_ADMIN,
    ADMIN,
    USER
}
console.log(Role.SUPPER_ADMIN) // 返回的是索引 0
console.log(Role.ADMIN) // 返回的是索引 1
console.log(Role.USER) // 返回的是索引 2
---------------------
---------------------
自定義枚舉的索引1:
enum Role {
    SUPPER_ADMIN = 2,
    ADMIN,
    USER
}
console.log(Role.SUPPER_ADMIN) // 返回的是索引 2
console.log(Role.ADMIN) // 返回的是索引 3
console.log(Role.USER) // 返回的是索引 4
---------------------
---------------------
自定義枚舉的索引2:
enum Role {
    SUPPER_ADMIN,
    ADMIN =4,
    USER
}
console.log(Role.SUPPER_ADMIN) // 返回的是索引 0
console.log(Role.ADMIN) // 返回的是索引 4
console.log(Role.USER) // 返回的是索引 5
---------------------
---------------------
自定義枚舉的索引3:
const NUMBER = 4 // 使用常量
enum Role {
    SUPPER_ADMIN,
    ADMIN = NUMBER,
    USER = 9
}
console.log(Role.SUPPER_ADMIN) // 返回的是索引 0
console.log(Role.ADMIN) // 返回的是索引 4
console.log(Role.USER) // 返回的是索引 9
---------------------
---------------------
自定義枚舉的索引4:
const func = () => 40 // 使用函數(shù)
enum Role {
    SUPPER_ADMIN,
    ADMIN = func(),
    USER = 9
}
console.log(Role.SUPPER_ADMIN) // 返回的是索引 0
console.log(Role.ADMIN) // 返回的是索引 40
console.log(Role.USER) // 返回的是索引 9

2-ts 中的枚舉的反向映射
// 沒什么要注意的
const func = () => 40 // 使用函數(shù)
enum Role {
  SUPPER_ADMIN,
  ADMIN = func(),
  USER = 9
}

console.log(Role)
/**
{
  0: "SUPPER_ADMIN",
  9: "USER",
  40: "ADMIN",
  SUPPER_ADMIN: 0,
  ADMIN: 40,
  USER: 9
}
*/

3-ts 中的字符串枚舉
enum Role {
  Success = '成功',
  Fail = '失敗',
  Error = Fail
}

console.log(Role.Success) // 成功
console.log(Role.Fail) // 失敗
console.log(Role.Error) // 失敗

4-ts 中的異構枚舉

枚舉里面既有數(shù)字枚舉又有字符串枚舉,不建議這么使用续誉,盡量不用

enum Role {
  Success = '成功',
  Fail = '失敗',
  Error = 00001
}
5-ts 中的枚舉成員類型和聯(lián)合枚舉類型
// 都不帶初始值的枚舉成員 enum Role {A,B,C,D}
// 有初始值莱没,值都為字符串的字面量 enum Role {A = 'a',B = 'b',C = 'c',D = 'd'}
// 有初始值,值都為數(shù)值的字面量 enum Role {A = -1,B = -2,C = 0,D = 1}
上面3條酷鸦,滿足任意一條饰躲,該枚舉本身/枚舉內(nèi)的成員 就可以作為類型來使用

枚舉成員類型:
enum Animals {
 Dog = 1,
 Cat = 2,
}
interface Dog {
  type: Animals.Dog // 用的是枚舉內(nèi)部的屬性的名字來定義類型的
}

const dog:Dog = {
  // type: Animals.Cat // 不能將類型“Animals.Cat”分配給類型“Animals.Dog”
  type: Animals.Dog
}

聯(lián)合枚舉類型
enum Animals {
 Dog = 1,
 Cat = 2,
}
interface Dog {
  type: Animals // 用的是枚舉的名字來定義類型的
}

const dog:Dog = {
  type: Animals.Dog
}

6-ts 中的運行時的枚舉
沒有什么要注意的
7-ts 中的 const enum
正常情況下,定義的枚舉臼隔,代碼編譯后属铁,會生成對應的js對象的代碼
但有的時候,我們定義枚舉 是為了代碼的可讀性躬翁,并沒有其他的用途焦蘑,這時候,就可以使用const了
cosnt enum Animal{
  Dog = 1
}
// 上面代碼編譯后沒有任何數(shù)據(jù)顯示

const dog = Animal.dog
// 代碼編譯后顯示的數(shù)據(jù) var dog = 1 /*Dog*/

結語:
拉鉤教育訓練營學習已經(jīng)有三周了盒发,在沒有來之前例嘱,我都是回家之后打游戲(游戲名:斗戰(zhàn)神),來到這里之后才發(fā)現(xiàn)居然還有很多大佬也在學習宁舰,真的很驚訝拼卵,本人自身水平垃圾的一批,再不學習蛮艰,以后可能一直就是混吃等死的狀態(tài)了

  • 首先來說腋腮,拉鉤的課程很干,每個視頻很短壤蚜,都是干貨即寡,講師沒有一句廢話,視頻內(nèi)容覆蓋比較廣袜刷,布置的作業(yè)也比較符合實際聪富,導師也會及時批改,然后一周或兩周必有直播著蟹,直播都會回答學習過程中所遇到的問題和新的內(nèi)容
  • 其次來說墩蔓,每個班都有班級群梢莽,群里居然還有5年6年的前端開發(fā)的大佬(⊙▽⊙); 班主任和導師也在群里奸披,有任何問題都可以在群里@導師昏名,班級群真的很活躍
  • 最后來說一句,如果有其他人也是在打游戲混日子阵面,不如來拉鉤教育訓練營葡粒,嘗試著改變一下自己目前所處的環(huán)境
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膜钓,隨后出現(xiàn)的幾起案子嗽交,更是在濱河造成了極大的恐慌,老刑警劉巖颂斜,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夫壁,死亡現(xiàn)場離奇詭異,居然都是意外死亡沃疮,警方通過查閱死者的電腦和手機盒让,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來司蔬,“玉大人邑茄,你說我怎么就攤上這事】√洌” “怎么了肺缕?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長授帕。 經(jīng)常有香客問我同木,道長,這世上最難降的妖魔是什么跛十? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任彤路,我火速辦了婚禮,結果婚禮上芥映,老公的妹妹穿的比我還像新娘洲尊。我一直安慰自己,他們只是感情好奈偏,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布坞嘀。 她就那樣靜靜地躺著,像睡著了一般霎苗。 火紅的嫁衣襯著肌膚如雪姆吭。 梳的紋絲不亂的頭發(fā)上榛做,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天唁盏,我揣著相機與錄音内狸,去河邊找鬼。 笑死厘擂,一個胖子當著我的面吹牛昆淡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播刽严,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼昂灵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了舞萄?” 一聲冷哼從身側響起眨补,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎倒脓,沒想到半個月后撑螺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡崎弃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年甘晤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饲做。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡线婚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盆均,到底是詐尸還是另有隱情塞弊,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布泪姨,位于F島的核電站居砖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏驴娃。R本人自食惡果不足惜奏候,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唇敞。 院中可真熱鬧蔗草,春花似錦、人聲如沸疆柔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春狼讨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留故觅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓渠啊,卻偏偏與公主長得像输吏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子替蛉,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容