最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Typescript中的數(shù)據(jù)類型實(shí)例總結(jié)

 更新時(shí)間:2022年03月25日 11:45:54   作者:用戶名為空_  
ts中數(shù)據(jù)類型的定義是重點(diǎn)之一,所以必須明確ts有哪些數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Typescript中數(shù)據(jù)類型的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

是什么

typescript和javascript幾乎一樣,擁有相同的數(shù)據(jù)類型,另外在javascript基礎(chǔ)上提供了更加實(shí)用的類型供開發(fā)使用。

在開發(fā)階段,可以為明確的變量定義為某種類型,這樣typescript就能在編譯階段進(jìn)行類型檢查,當(dāng)類型不符合預(yù)期結(jié)果的時(shí)候則會(huì)出現(xiàn)錯(cuò)誤提示

有哪些

typescript的數(shù)據(jù)類型主要有如下:

  • 1、boolean(布爾類型)
  • 2、number(數(shù)字類型)
  • 3、string(字符串類型)
  • 4、array(數(shù)組類型)
  • 5、tuple(元組類型)
  • 6、enum(枚舉類型)
  • 7、any(任意類型)
  • 8、null和undefined類型
  • 9、void類型
  • 10、never類型
  • 11、object(對(duì)象類型)

boolean

let flag:boolean = true;
flag = 123;    // 錯(cuò)誤
flag = false;  // 正確

number

數(shù)字類型,和javascript一樣,typescript的數(shù)值類型都是浮點(diǎn)數(shù),可支持二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制。

let num:number = 123;
num = '456';   // 錯(cuò)誤
num = 456;     // 正確

進(jìn)制表示:

let decLiteral:number = 6; // 十進(jìn)制
let hexLiteral:number = 0xfood; // 十六進(jìn)制
let binaryLiteral:number = 0b1010; // 二進(jìn)制
let octalLiteral:number = 0o744; // 八進(jìn)制

string

字符串類型,和javascript一樣,可以使用雙引號(hào)(")或單引號(hào)(')表示字符串

let str:string = 'this is ts';
str = 'test';

作為超集,當(dāng)然也可以使用模板字符串進(jìn)行包裹,通過${}嵌入變量

let name:string = `Gene`;
let sentence:string = `Hello, my name is ${name}`

array

數(shù)組類型,跟javascript一致,通過[]進(jìn)行包裹,有兩種寫法:

方式一:元素類型后面接上[]

let arr:string[] = ['12','23'];
arr = ['45','56'];

方式二:使用數(shù)組泛型,Array<元素類型>:

let arr:Array<number> = [1,2];
arr = ['45','55'];

tuple

元組類型,允許表示一個(gè)已知元素和類型的數(shù)組,各元素的類型不必相同

let tupleArr:[number,string,boolean];
tupleArr = [12,'34',true]; // yes
tupleArr = [12,'34']; // no

enum

enum類型是對(duì)javascript標(biāo)準(zhǔn)數(shù)據(jù)類型的一個(gè)補(bǔ)充,使用枚舉類型可以為一組數(shù)值賦予友好的名字

enum Color {Red,Green,Blue}
let c:Color = Color.Green;

any

可以指定任何類型的值,在編程階段還不清楚類型的變量指定一個(gè)類型,不希望類型檢查器對(duì)這些值進(jìn)行檢查而是直接讓它們通過編譯階段的檢查,這時(shí)候可以使用any類型

使用any類型允許被賦值為任意類型,甚至可以調(diào)用其屬性、方法

let num:any = 123;
num = 'str';
num = true;

定義存儲(chǔ)各種類型數(shù)據(jù)的數(shù)組時(shí),示例代碼如下:

let arrayList:any[] = [1,false,'fine'];
arrayList[1] = 100;

null和undefined

在javascript中null表示 “什么都沒有”,是一個(gè)只有一個(gè)值的特殊類型,表示一個(gè)空對(duì)象引用,而undefined表示一個(gè)沒有設(shè)置值的變量。

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

let num:number | undefined; // 數(shù)值類型或者undefined
console.log(num); // 正確
num = 123; 
console.log(num); // 正確

但是ts配置了--strictNullChecks標(biāo)記,null和undefined只能賦值給void和它們各自

void

用于標(biāo)識(shí)方法返回值的類型,表示該方法沒有返回值。

function hello():void {
    alert('Hello Runoob')
}

never

never是其他類型(包括null和undefined)的子類型,可以賦值給任何類型,代表從不會(huì)出現(xiàn)的值,

但是沒有類型是never的子類型,這意味著生命never的變量只能被never類型所賦值。

never類型一般用來指定哪些總是會(huì)拋出異常,無限循環(huán)

let a:never;
a = 123; // 錯(cuò)誤的寫法

a = (() => { // 正確的寫法
    throw new Errow('錯(cuò)誤')
})()

// 返回的never的函數(shù)必須存在無法達(dá)到的終點(diǎn)
function error(message:string): never {
    thorw new Error(message);
}

object

對(duì)象類型,非原始類型,常見的形式通過{}進(jìn)行包裹

let obj:object;
obj = {name:'Zhang',age:23};

總結(jié)

和javascript基本一致,也分成:

  • 1、基本類型
  • 2、引用類型

在基礎(chǔ)類型上,typescript增添了void、any、emun等原始類型。

到此這篇關(guān)于Typescript數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)Typescript數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js隨機(jī)生成一個(gè)驗(yàn)證碼

    js隨機(jī)生成一個(gè)驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了js隨機(jī)生成一個(gè)驗(yàn)證碼的具體方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 利用JavaScript檢測(cè)CPU使用率自己寫的

    利用JavaScript檢測(cè)CPU使用率自己寫的

    這篇文章主要介紹了自己寫的一個(gè)利用JavaScript檢測(cè)CPU使用率的方法,需要的朋友可以參考下
    2014-03-03
  • JavaScript實(shí)現(xiàn)一個(gè)多少秒后自動(dòng)跳轉(zhuǎn)的頁(yè)面(案例代碼)

    JavaScript實(shí)現(xiàn)一個(gè)多少秒后自動(dòng)跳轉(zhuǎn)的頁(yè)面(案例代碼)

    最近遇到這樣一個(gè)需求是用js簡(jiǎn)單實(shí)現(xiàn)一個(gè)多少秒后自動(dòng)跳轉(zhuǎn)的頁(yè)面,實(shí)現(xiàn)代碼非常簡(jiǎn)單,對(duì)js自動(dòng)跳轉(zhuǎn)頁(yè)面相關(guān)知識(shí)感興趣的朋友一起看看吧
    2023-01-01
  • NestJS裝飾器實(shí)現(xiàn)GET請(qǐng)求

    NestJS裝飾器實(shí)現(xiàn)GET請(qǐng)求

    本文介紹了如何通過裝飾器實(shí)現(xiàn)GET請(qǐng)求,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • ES6模板字符串和標(biāo)簽?zāi)0宓膽?yīng)用實(shí)例分析

    ES6模板字符串和標(biāo)簽?zāi)0宓膽?yīng)用實(shí)例分析

    這篇文章主要介紹了ES6模板字符串和標(biāo)簽?zāi)0宓膽?yīng)用,結(jié)合實(shí)例形式分析了ES6模板字符串和標(biāo)簽?zāi)0宓墓δ?、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • 在Webpack中用url-loader處理圖片和字體的問題

    在Webpack中用url-loader處理圖片和字體的問題

    這篇文章主要介紹了在Webpack中用url-loader處理圖片和字體的問題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • JsRender for index循環(huán)索引用法詳解

    JsRender for index循環(huán)索引用法詳解

    這篇文章主要介紹了JsRender for index循環(huán)索引用法,以實(shí)例形式詳細(xì)分析了JsRender中循環(huán)的用法,需要的朋友可以參考下
    2014-10-10
  • 詳解關(guān)閉令人抓狂的ESlint 語(yǔ)法檢測(cè)配置方法

    詳解關(guān)閉令人抓狂的ESlint 語(yǔ)法檢測(cè)配置方法

    這篇文章主要介紹了詳解關(guān)閉令人抓狂的ESlint 語(yǔ)法檢測(cè)配置方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • IE8利用自帶的setCapture和releaseCapture解決iframe的拖拽事件方法

    IE8利用自帶的setCapture和releaseCapture解決iframe的拖拽事件方法

    最近有個(gè)需求須要實(shí)現(xiàn)左右拖拽功能,頁(yè)面右邊是個(gè)iframe頁(yè)面,在chrome測(cè)試通過之后,發(fā)現(xiàn)在ie8上面效果不是很理想,查閱相關(guān)資料找到可以使用ie自帶的setCapture和releaseCapture來解決,需要的朋友可以參考下
    2016-10-10
  • JavaScript高級(jí)編程之Array的用法總結(jié)

    JavaScript高級(jí)編程之Array的用法總結(jié)

    這篇文章主要為大家介紹了JavaScript中Array常見用法的總結(jié),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-11-11

最新評(píng)論

海伦市| 大英县| 新巴尔虎左旗| 屏山县| 囊谦县| 凤庆县| 延边| 惠州市| 洪雅县| 铜鼓县| 凉城县| 黑水县| 枞阳县| 黔南| 益阳市| 东丽区| 神池县| 佛冈县| 兴和县| 庆云县| 武功县| 新巴尔虎左旗| 多伦县| 衡南县| 武山县| 上饶市| 青神县| 石屏县| 错那县| 理塘县| 巴南区| 威海市| 台山市| 布尔津县| 阿鲁科尔沁旗| 瑞昌市| 友谊县| 兴城市| 隆化县| 永靖县| 甘德县|