Typescript中的數(shù)據(jù)類型實例總結(jié)_第1頁
Typescript中的數(shù)據(jù)類型實例總結(jié)_第2頁
Typescript中的數(shù)據(jù)類型實例總結(jié)_第3頁
Typescript中的數(shù)據(jù)類型實例總結(jié)_第4頁
Typescript中的數(shù)據(jù)類型實例總結(jié)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第Typescript中的數(shù)據(jù)類型實例總結(jié)目錄是什么有哪些booleannumberstringarraytupleenumanynull和undefinedvoidneverobject總結(jié)

是什么

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

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

有哪些

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(對象類型)

boolean

letflag:boolean=true;

flag=123;//錯誤

flag=false;//正確

number

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

letnum:number=123;

num='456';//錯誤

num=456;//正確

進制表示:

letdecLiteral:number=6;//十進制

lethexLiteral:number=0xfood;//十六進制

letbinaryLiteral:number=0b1010;//二進制

letoctalLiteral:number=0o744;//八進制

string

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

letstr:string='thisists';

str='test';

作為超集,當然也可以使用模板字符串進行包裹,通過${}嵌入變量

letname:string=`Gene`;

letsentence:string=`Hello,mynameis${name}`

array

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

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

letarr:string[]=['12','23'];

arr=['45','56'];

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

letarr:Arraynumber=[1,2];

arr=['45','55'];

tuple

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

lettupleArr:[number,string,boolean];

tupleArr=[12,'34',true];//yes

tupleArr=[12,'34'];//no

enum

enum類型是對javascript標準數(shù)據(jù)類型的一個補充,使用枚舉類型可以為一組數(shù)值賦予友好的名字

enumColor{Red,Green,Blue}

letc:Color=Color.Green;

any

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

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

letnum:any=123;

num='str';

num=true;

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

letarrayList:any[]=[1,false,'fine'];

arrayList[1]=100;

null和undefined

在javascript中null表示什么都沒有,是一個只有一個值的特殊類型,表示一個空對象引用,而undefined表示一個沒有設置值的變量。

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

letnum:number|undefined;//數(shù)值類型或者undefined

console.log(num);//正確

num=123;

console.log(num);//正確

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

void

用于標識方法返回值的類型,表示該方法沒有返回值。

functionhello():void{

alert('HelloRunoob')

}

never

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

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

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

leta:never;

a=123;//錯誤的寫法

a=(()={//正確的寫法

thrownewErrow('錯誤')

//返回的never的函數(shù)必須存在無法達到的終點

functionerror(message:string):never{

thorwnewError(message);

}

object

對象類型,非原始類型,常見的形式通過{}進行包裹

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論