日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Enums 是 Enumerations 的縮寫,是預(yù)設(shè)的常量,可以由開發(fā)人員定義以在代碼的其他地方使用。

七爪源碼:TypeScript 枚舉如何工作

 

對(duì)于 JAVAScript 開發(fā)人員來說,枚舉的概念通常是新的,但它們相對(duì)容易理解。 Enums 為我們正在編寫的內(nèi)容添加上下文。

 

如何定義 Enums

Enums 可以在 TypeScript 中使用 enum 關(guān)鍵字定義。 這是一個(gè)例子:

enum Pet {
    Dog,
    Cat,
    Goldfish,
    Skeleton
}

默認(rèn)情況下,這些中的每一個(gè)都將被分配一個(gè)值。 所以 Dog 將為 0,Cat 為 1,依此類推。 假設(shè)我們有一個(gè)生成寵物的函數(shù)。 之前,我們可能會(huì)這樣寫:

// Generate a Cat
generatePet(1);

現(xiàn)在,我們可以為我們正在做的事情添加上下文,并使用我們的 enum 列表來做到這一點(diǎn):

// Generate a Cat
generatePet(Pet.Cat);

上面的代碼和我們之前做的一樣,只是我們使用了我們的 Enums。

 

所以等等……為什么要使用 Enums?

你可能想知道,“有什么意義?” 這是一個(gè)有效的問題。 Enums 本質(zhì)上允許我們?yōu)槲覀冋谧龅氖虑樘峁└嗟纳舷挛摹?我們可以讓用戶使用 Enum 列表,而不是讓用戶記住可能的寵物編號(hào)列表。 這也讓下一個(gè)閱讀我們代碼的人更好地了解我們正在嘗試做什么。

 

數(shù)字和字符串 Enums

我們可以將 Enums 定義為數(shù)字或字符串。 讓我們稍微詳細(xì)地看一下這些。

enum Pet {
    Dog = 2,
    Cat,
    Goldfish,
    Skeleton
}

上面,我們給 Dog 一個(gè)數(shù)值 2。之后的每一項(xiàng)都會(huì)增加 1,所以 Cat 變?yōu)?3,Goldfish 變?yōu)?4,等等,但您也可以隨意定義它們:

enum Pet {
    Dog = 2,
    Cat = 9,
    Goldfish = 15,
    Skeleton = 44
}

通常我們不會(huì)混合字符串和數(shù)字以避免混淆,但我們也可以將 Enums 定義為完全字符串:

enum Counting {
    One = "one",
    Two = "two",
    Three = "three"
}

 

Enum 來自函數(shù)的值

Enums 也可以是返回值的函數(shù)。 如果您只在 enum 中定義一個(gè)值,則函數(shù)必須放在最后。 如果你把函數(shù)放在開頭,那么所有的 enums 都需要值。 因此,以下會(huì)引發(fā)錯(cuò)誤:

// This will throw an error, since the function is at the start
// So typescript assumes all will be functions
enum Counting {
    One = getOne(),
    Two,
    Three,
}

但這不會(huì):

enum Counting {
    One,
    Two,
    Three = getThree(),
}

上面 One 返回 0, Two 返回 1, Three 返回 getThree() 的值。 舉個(gè)例子,我們的 getThree() 函數(shù)可能看起來像這樣(返回值 3):

const getThree = function() {
    return 3;
}

 

計(jì)算的 Enums

Enums 可以被計(jì)算,(即一個(gè)計(jì)算),或者也可以引用其他 Enums。 例如:

enum FirstEnum {
    One,   // Returns "0"
    Two,   // Returns "1"
    Three  // Returns "2"
}enum AnotherEnum {
    One: FirstEnum.One, // returns FirstEnum.One, i.e. "0"
    Two: 1 + 1,         // Calculates and returns "2"
    Three: 1 * 3,       // Calculates and returns "3"
    Star: One           // Refers to AnotherEnum.One, returns "0"
}

 

結(jié)論

Enums 是 TypeScript 中為代碼添加更多語義的強(qiáng)大方法。 它們讓閱讀你代碼的人知道你想要完成什么,從而提高你所寫內(nèi)容的可維護(hù)性。 它們還允許您在代碼庫中引用標(biāo)準(zhǔn)常量,從而使您的生活更輕松。

關(guān)注七爪網(wǎng),獲取更多App/小程序/網(wǎng)站源碼資源!

分享到:
標(biāo)簽:TypeScript
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定