




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一起來學(xué)習(xí)TypeScript的類型目錄前言一、類型聲明二、類型1.number2.string3.boolean4.字面量5.聯(lián)合類型6.any7.unknown8.void9.never10.object11.array12.tuple13.枚舉enum14.其他總結(jié)
前言
TypeScript學(xué)習(xí)筆記第一部分,關(guān)于TS的類型聲明以及基本類型。
一、類型聲明
類型聲明類型聲明是TS非常重要的一個(gè)特點(diǎn)通過類型聲明可以指定TS中變量(參數(shù)、形參)的類型指定類型后,當(dāng)為變量賦值時(shí),TS編譯器會自動(dòng)檢查值是否符合類型聲明,符合則賦值,否則報(bào)錯(cuò)簡而言之,類型聲明給變量設(shè)置了類型,使得變量只能存儲某種類型的值語法:
let變量:類型;
let變量:類型=值;
functionfn(參數(shù):類型,參數(shù):類型):類型{
}
自動(dòng)類型判斷TS擁有自動(dòng)的類型判斷機(jī)制當(dāng)對變量的聲明和賦值是同時(shí)進(jìn)行的,TS編譯器會自動(dòng)判斷變量的類型所以如果變量的聲明和賦值同時(shí)進(jìn)行時(shí),可以省略掉類型聲明
//先聲明類型再賦值
leta:string;
a='Hello';
//聲明類型并賦值
letb:number=123;
//聲明變量和賦值同時(shí)進(jìn)行
letc=false;
c=true;//編譯器自動(dòng)判斷變量c為boolean
二、類型
類型例子描述number
1,-33,2.5任意數(shù)字stringhi,HI任意字符串booleantrue,false布爾值true或false字面量其本身限制變量的值就是該字面量的值any*任意類型unknown*類型安全的anyvoid空值(undefined)沒有值(或undefined)never沒有值不能是任何值object{name:Alice}任意的JS對象array[1,2,3]任意JS數(shù)組tuple[4,5]元素,TS新增類型,固定長度的數(shù)組enumenum{A,B}枚舉,TS中新增類型
1.number
leta:number;
a=10;
a=33;
//a='hello';變量a的類型是number,不能賦值字符串
2.string
letb:string;
b='hello';
//b=123;變量b的類型是字符串,不能賦值number
3.boolean
letc:boolean;
c=true;
4.字面量
letd:10;//此時(shí)d只能等于10
//letd=11;則會報(bào)錯(cuò),限制了該變量就是字面量的值(有點(diǎn)類似常量)
5.聯(lián)合類型
letA:boolean|string;//變量A既可以是布爾類型也可以是字符串類型
A=true;
A="Hello";
A=false;
A="World";
//字面量的聯(lián)合類型限制變量B只能是"male"或"female"
letB:"male"|"female";
B="male";
B="female";
//B="trans"錯(cuò)誤
6.any
任意類型,相當(dāng)于關(guān)閉了TS對類型的限制(盡量不要用)。
leta:any;
a=true;
a="hi";
a=123;
//如果聲明變量不指定類型,則TS解析器會自動(dòng)判斷變量的類型為any
letb;
b=true;
b="hi";
b=123;
注意any類型的變量可以賦值給任意變量,容易出現(xiàn)問題。
//any任意類型,相當(dāng)于關(guān)閉了ts對類型的限制(盡量不要用)
letB:any;
B=10;
B='string';
B=true;
letS:string;
S=B;//any類型可以賦值給任意類型變量,容易出現(xiàn)問題。
7.unknown
類型安全的any,不能直接賦值給其他變量。
leta:unknown;
a=10;
a="string";
a=true;
letb:string;
//b=a;賦值時(shí)編譯器會報(bào)錯(cuò),不能將“unknown”類型分配給“string”。
如果一定要賦值,可以賦值前類型判斷或者使用斷言。
leta:unknown;
a=10;
a=true;
a="string";
letb:string;
*斷言:
*1.變量as類型
*2.類型變量
b=aasstring;
b=string
*賦值前類型判斷
if(typeofc==='string'){
b=a;
}
8.void
沒有返回值=返回的是空值/undefined
functionfoo():void{
console.log(typeoffoo());//=undefined
functionfoo1():void{
returnundefined;
functionfoo3(){
//不寫void默認(rèn)為void
//寫了返回值不寫返回值類型=自動(dòng)判斷返回值類型
functionfoo4(){
return1;
console.log(typeoffoo4());//=number
9.never
沒有值,不能是任何值(連undefined都沒有)
functionfoo():never{
thrownewError('raise');
}
10.object
leto:{name:string,age:number};
o={
name:"Edison",
age:25
//定義可選參數(shù)
//[propName:string]:any任意類型的屬性
leta:{name:string,[propName:string]:any};
b={
name:'Edison',
age:24,
gender:"female"
//定義函數(shù)結(jié)構(gòu)
letfoo:(a:number,b:number)=number;
foo=function(n1,n2){
returnn1+n2;
}
11.array
/*
*元組:長度和類型還有順序必須與儲存元素一一對應(yīng)
*[類型,類型]
leta=[string,number];
a=["hello",123];
//以下報(bào)錯(cuò)
a=[123,"hello"];
a=[123];
a=["hello"];
a=["hello",123,456];
12.tuple
/*
*元組:長度和類型還有順序必須與儲存元素一一對應(yīng)
*[類型,類型]
leta=[string,number];
a=["hello",123];
//以下報(bào)錯(cuò)
a=[123,"hello"];
a=[123];
a=["hello"];
a=["hello",123,456];
13.枚舉enum
enumGender{
Male=0,
Female=1
letperson:{name:string,gender:Gender};
person={
name:"Edison",
gender:Gender.Male
}
14.其他
//同時(shí)滿足
leti:{name:string}{age: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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政管理專業(yè)的實(shí)習(xí)與實(shí)踐經(jīng)驗(yàn)分享及試題及答案
- 航空巔峰領(lǐng)航未來-機(jī)場戰(zhàn)略規(guī)劃與市場展望
- 2025合作伙伴設(shè)備制造承攬合同協(xié)議書
- 2025企業(yè)管理資料廣告設(shè)計(jì)合同文檔范本
- 行政管理心理學(xué)學(xué)術(shù)研究的試題及答案總結(jié)
- 2025合同法規(guī)定的解除合同
- 2025【合同范本】茶葉購銷合同樣本
- 行政管理實(shí)務(wù)公文考試試題及答案
- 行政管理的資源配置問題研究試題及答案
- 行政管理本科試題及答案的邏輯分析
- 小學(xué)生反詐知識宣傳課件
- 高血壓腦出血專家共識
- NB-T 47013.1-2015 承壓設(shè)備無損檢測 第1部分-通用要求
- 西格列汀二甲雙胍緩釋片-藥品解讀
- 多因素身份認(rèn)證
- 鐵路基本建設(shè)工程設(shè)計(jì)概(預(yù))算編制辦法-國鐵科法(2017)30號
- 汽車修理廠臺賬表格范本
- 顏真卿《勸學(xué)》ppt課件1
- 400字作文稿紙20x20格A4標(biāo)準(zhǔn)稿紙
- 管道燃?xì)饪头T(高級工)技能鑒定考試題庫大全(含答案)
- 氫氣儲存和運(yùn)輸 課件 第1、2章 氫氣存儲與運(yùn)輸概述、高壓氣態(tài)儲運(yùn)氫
評論
0/150
提交評論