版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Typescript中的數(shù)據(jù)類型實例總結(jié)目錄是什么有哪些booleannumberstringarraytupleenumanynull和undefinedvoidneverobject總結(jié)
是什么
typescript和javascript幾乎一樣,擁有相同的數(shù)據(jù)類型,另外在javascript基礎(chǔ)上提供了更加實用的類型供開發(fā)使用。
在開發(fā)階段,可以為明確的變量定義為某種類型,這樣typescript就能在編譯階段進(jìn)行類型檢查,當(dāng)類型不符合預(yù)期結(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ù),可支持二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制。
letnum:number=123;
num='456';//錯誤
num=456;//正確
進(jìn)制表示:
letdecLiteral:number=6;//十進(jìn)制
lethexLiteral:number=0xfood;//十六進(jìn)制
letbinaryLiteral:number=0b1010;//二進(jìn)制
letoctalLiteral:number=0o744;//八進(jìn)制
string
字符串類型,和javascript一樣,可以使用雙引號()或單引號()表示字符串
letstr:string='thisists';
str='test';
作為超集,當(dāng)然也可以使用模板字符串進(jìn)行包裹,通過${}嵌入變量
letname:string=`Gene`;
letsentence:string=`Hello,mynameis${name}`
array
數(shù)組類型,跟javascript一致,通過[]進(jìn)行包裹,有兩種寫法:
方式一:元素類型后面接上[]
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標(biāo)準(zhǔn)數(shù)據(jù)類型的一個補(bǔ)充,使用枚舉類型可以為一組數(shù)值賦予友好的名字
enumColor{Red,Green,Blue}
letc:Color=Color.Green;
any
可以指定任何類型的值,在編程階段還不清楚類型的變量指定一個類型,不希望類型檢查器對這些值進(jìn)行檢查而是直接讓它們通過編譯階段的檢查,這時候可以使用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表示一個沒有設(shè)置值的變量。
默認(rèn)情況下null和undefined是所有類型的子類型,就是說你可以把null和undefined賦值給number類型的變量
letnum:number|undefined;//數(shù)值類型或者undefined
console.log(num);//正確
num=123;
console.log(num);//正確
但是ts配置了--strictNullChecks標(biāo)記,null和undefined只能賦值給void和它們各自
void
用于標(biāo)識方法返回值的類型,表示該方法沒有返回值。
functionhello():void{
alert('HelloRunoob')
}
never
never是其他類型(包括null和undefined)的子類型,可以賦值給任何類型,代表從不會出現(xiàn)的值,
但是沒有類型是never的子類型,這意味著生命never的變量只能被never類型所賦值。
never類型一般用來指定哪些總是會拋出異常,無限循環(huán)
leta:never;
a=123;//錯誤的寫法
a=(()={//正確的寫法
thrownewErrow('錯誤')
//返回的never的函數(shù)必須存在無法達(dá)到的終點
functionerror(message:string):never{
thorwnewError(message);
}
object
對象類型,非原始類型,常見的形式通過{}進(jìn)行包裹
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)健康促進(jìn)服務(wù)供給側(cè)改革與可持續(xù)發(fā)展
- 職業(yè)健康中的人機(jī)環(huán)境評估
- 黔西南2025年貴州黔西南高新區(qū)實驗中學(xué)臨聘教師招聘12人筆試歷年參考題庫附帶答案詳解
- 西雙版納2025年云南西雙版納勐海縣黨政儲備人才專項招引18人筆試歷年參考題庫附帶答案詳解
- 肇慶2025年廣東肇慶市高要區(qū)教育局招聘中小學(xué)教師59人筆試歷年參考題庫附帶答案詳解
- 河池2025年廣西河池市南丹縣參加2025屆河池學(xué)院畢業(yè)生雙選會招聘22人筆試歷年參考題庫附帶答案詳解
- 榆林2025年陜西榆林市榆陽區(qū)招聘編外學(xué)科教師和教輔人員389人筆試歷年參考題庫附帶答案詳解
- 張家界2025年湖南張家界市桑植縣職業(yè)中等專業(yè)學(xué)校選調(diào)筆試歷年參考題庫附帶答案詳解
- 山西2025年山西農(nóng)業(yè)大學(xué)軟件學(xué)院招聘人事代理人員10人筆試歷年參考題庫附帶答案詳解
- 寧波浙江寧波一院龍山醫(yī)院醫(yī)療健康集團(tuán)(慈溪市龍山醫(yī)院)招聘4人筆試歷年參考題庫附帶答案詳解
- 2025年醫(yī)療器械收貨與驗收管理制度培訓(xùn)試題(附答案)
- 2025年急診科面試常見問題及答案
- 北師大版初中九年級下冊數(shù)學(xué)3.2圓的對稱性課件
- 建筑起重司索信號工安全操作規(guī)程
- 青光眼病人的健康宣教
- 2024-2025學(xué)年天津市河西區(qū)七年級下英語期中考試題(含答案和音頻)
- 商業(yè)地產(chǎn)運營管理手冊
- 哈鐵面試試題及答案
- 質(zhì)量小品完整版本
- 《家禽的主要傳染病》課件
- 試用期員工轉(zhuǎn)正申請書(匯編15篇)
評論
0/150
提交評論