成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

TypeScript基礎(chǔ)類型與聯(lián)合類型

Awbeci / 3217人閱讀

摘要:在使用的過程中,它最大的特點(diǎn)其實(shí)就是數(shù)據(jù)類型的定義。聯(lián)合類型定義實(shí)際項(xiàng)目中,數(shù)據(jù)類型肯定是各種各樣的,為我們提供了各種組合類型的定義。

TypeScript對(duì)它的學(xué)習(xí)其實(shí)是在前年就開始了,后面一直沒有機(jī)會(huì)在項(xiàng)目中使用,直到最近我司開發(fā)小程序,使用京東的taro
算真正了。使用的過程中,發(fā)現(xiàn)對(duì)其基本知識(shí)點(diǎn)并沒有通透,所以才想到要記錄學(xué)習(xí)的過程。

在使用的過程中,它最大的特點(diǎn)其實(shí)就是數(shù)據(jù)類型的定義

基礎(chǔ)類型的定義

字符串類型

let name: string = "Mondo"

布爾類型

let isDone: boolean = true

數(shù)字類型

let dec: number = 1

數(shù)組

let list: number[] = [1, 2]
or
let list: Array = [1, 2]

元組Tuple

定義一個(gè)已知元素?cái)?shù)量和類型的數(shù)組,各元素的類型不必相同

let list: [string, number]
list = ["1", 2]

枚舉

enum Animal { dog = "hei", cat, pig }
let dor: Animal = Animal.dog

Any

定義一個(gè)未知數(shù)據(jù)類型的變量

let nothing: any = 2

Void

表示沒有類型,通常用于一個(gè)函數(shù)沒有任何返回值

function warnUser(): void {
    console.log("This is void");
}

Null 和 Undefined

默認(rèn)情況下null和undefined是所有類型的子類型,你可以把他們賦值給任何類型的變量

let u: undefined = undefined
let n: null = null
let dec: string = null

類型斷言

類型斷言好比語言里的類型轉(zhuǎn)換,但是不進(jìn)行特殊的數(shù)據(jù)檢查和解構(gòu)

let dec: string = "Mondo"
let len: number = (dec).length
or 
let len: number = (dec as string).length

以上是我們?cè)趯?shí)際運(yùn)用中常見的幾種基本類型,當(dāng)然還有其他類型,比如Never,Object。

聯(lián)合類型定義

實(shí)際項(xiàng)目中,數(shù)據(jù)類型肯定是各種各樣的,TypeScript為我們提供了各種組合類型的定義。

let list = [
{
    name: "Mondo",
    age: 29
]

以上是我們常見的數(shù)據(jù)格式,上面說了定義數(shù)組let list: number[],可是在這條數(shù)據(jù)中數(shù)組里面元素是Object,這里要使用TypeScript接口來定義

接口

關(guān)鍵詞interface來定義一個(gè)接口

interface IPerson {
    label: string
}
function getPerson(person:IPerson): void {
    console.log(person.label);
}
let obj = { size: 10, label: "mondo" };
getPerson(obj); // mondo

可選屬性

interface Iperson {
    name: string;
    cap?: string;
}
function getPerson(person:IPerson): void {
    console.log(person.name);
}
let obj = { name: "mondo" };
getPerson(obj); // mondo

只讀屬性

擁有只讀屬性不可改變它的值

interface Iperson {
    readonly name: string;
    age: number;
}
let obj: Iperson = { name: "mondo", age: 29 };
obj.name = "Imondo" // error

函數(shù)類型

interface Person {
    (name: string, age: number): boolean;
}
let getPerson:Person = (name, age) => {
    return age > 20;
}
getPerson("Mondo", 29)

上接口的方法是在項(xiàng)目中常用的Object定義。

回到最初的定義數(shù)組,我們可以這么定義

interface Iperson {
    name: string;
    age?: number|string;
}
let list: Iperson[] = [
 {
    name: "Mondo" 
 },
 {
    name: "Imondo",
    age: 29
 },
 {
    name: "IMondo",
    age: "29"
 }
]
總結(jié)

TypeScript只是粗淺的了解它的一些用法,還有很多高級(jí)的用法暫時(shí)還沒有接觸到,這篇文章也是本人結(jié)合項(xiàng)目中用到的一些常規(guī)用法而寫的總結(jié)文章而已,感謝各位指正。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105603.html

相關(guān)文章

  • Typescript 基礎(chǔ)(一)之類型

    摘要:基本數(shù)據(jù)類型包括數(shù)值字符串布爾值以及新增的。數(shù)值類型中的二進(jìn)制表示法或者開頭中的八進(jìn)制表示法或者開頭字符串類型普通字符串模板字符串模板字符串布爾值和類型在中使用和來定義這兩個(gè)數(shù)據(jù)類型。 一、基本數(shù)據(jù)類型 Javascript 的類型分為兩種:原始數(shù)據(jù)類型和對(duì)象類型,TypeScript 支持與JavaScript幾乎相同的數(shù)據(jù)類型,此外還提供了枚舉、元組等實(shí)用的類型。基本數(shù)據(jù)類型包括:...

    GitCafe 評(píng)論0 收藏0
  • 為vue3學(xué)點(diǎn)typescript, 基礎(chǔ)類型和入門高級(jí)類型

    摘要:導(dǎo)航第一課體驗(yàn)第二課基礎(chǔ)類型和入門高級(jí)類型第三課泛型第四課解讀高級(jí)類型很重要這一節(jié)很重要可以說是的最核心部分這一節(jié)學(xué)完其實(shí)就可以開始用寫代碼了想想中的再看看標(biāo)題中的類型字所以請(qǐng)大家務(wù)必認(rèn)真什么是入門高級(jí)類型因?yàn)楦呒?jí)類型的內(nèi)容比較多但是有些基 導(dǎo)航 第一課, 體驗(yàn)typescript 第二課, 基礎(chǔ)類型和入門高級(jí)類型 第三課, 泛型 第四課, 解讀高級(jí)類型 很重要 這一節(jié)很重要, 可以說...

    Songlcy 評(píng)論0 收藏0
  • Typescript 基礎(chǔ)(二)之函數(shù)

    摘要:調(diào)用者容易迷惑,當(dāng)傳入函數(shù)的參數(shù)類型為時(shí)返回值的類型究竟是還是。前面兩個(gè)是函數(shù)聲明,最后一個(gè)是函數(shù)實(shí)現(xiàn),有參數(shù)類型和返回值類型隨意搭配的意思。 Typescript 中的函數(shù) Javascrip 中函數(shù)是一等公民一、Javascript 中的兩種常見的定義函數(shù)的方式1、函數(shù)聲明 function myFunc(x,y){ return x+y } 2、函數(shù)表達(dá)式 let add...

    yeyan1996 評(píng)論0 收藏0
  • TypeScript入門教程

    摘要:現(xiàn)在,出現(xiàn)了更多本身支持或者通過插件支持語法智能提示糾錯(cuò)甚至是內(nèi)置編譯器的文本編輯器和。 TypeScript是什么 TypeScript是JavaScript的一個(gè)超集 TypeScript需要編譯為JavaScript才能運(yùn)行(語法糖) TypeScript提供了類型系統(tǒng),規(guī)范類似Java TypeScript提供了ES6的支持,也可以支持部分ES7草案的特性,不用擔(dān)心TypeS...

    Dr_Noooo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<