腦袋大 后悔之前沒(méi)用空閑時(shí)間學(xué)一下ts 新公司項(xiàng)目是用ts寫(xiě)的 看的一臉懵 找了個(gè)視頻 先自己學(xué)習(xí)一下
需要準(zhǔn)備的:
1.先安裝node 怎么安裝就不知道了
2.安裝ts
npm install -g typescript
3.vscode初始化 創(chuàng)建 tsconfig.json 文件 tsc --init 生成配置文件
- 運(yùn)行指令 tsc xxx.ts 轉(zhuǎn)成js文件
5..在vscode編輯器中 終端-運(yùn)行任務(wù)-監(jiān)聽(tīng)tsconfig.json 這樣就可以實(shí)時(shí)ts轉(zhuǎn)js代碼
=======我是迷人的分割線(xiàn)=======
ts基本數(shù)據(jù)類(lèi)型:
布爾 boolean
數(shù)字number
字符串 string
數(shù)組 array
元祖 tuple
枚舉 enum
任意類(lèi)型any
null
undefined
void類(lèi)型
nerver類(lèi)型
有幾個(gè)之前沒(méi)見(jiàn)過(guò)的新面孔 元祖 枚舉 任意 void nerver、
在定義ts變量的時(shí)候 必須要指定類(lèi)型
比如
var flag:Boolean =true
那么 要是下面再定義值是其他數(shù)據(jù)類(lèi)型 就會(huì)報(bào)錯(cuò)
flag=123
會(huì)報(bào)錯(cuò)
但是你可以寫(xiě)
flag=false
--數(shù)組類(lèi)型--
ts定義數(shù)組有兩種方式
一種是指定數(shù)字類(lèi)型
var arr:number[]=[11,22,33]
意思是里面只能存在數(shù)字類(lèi)型的值
第二種是 :
舉個(gè)栗子
var arr:Array<number>=[1,2,333]
里面也是只能存在類(lèi)型為數(shù)字的值 傳入其他類(lèi)型的 會(huì)報(bào)錯(cuò)
----元組類(lèi)型----
在數(shù)組中,有時(shí)候不一定是全數(shù)字或者全字符串,可能會(huì)是字符串和數(shù)字混合 這時(shí)候就可以用到元組類(lèi)型,給數(shù)組的每一項(xiàng)都指定類(lèi)型
比如:
let arr[number,string]=[1,'haomeili']
這樣 數(shù)組內(nèi)第一個(gè)值就被指定為數(shù)字,第二個(gè)被指定為字符串
-----枚舉類(lèi)型-------
經(jīng)常會(huì)遇到枚舉 ,比如說(shuō) 姓名,年齡這種的
在ts中 枚舉是enum 名稱(chēng){key1=value1,key2,key3}
enum Color{blue,red,pink,hotpink=1081,aaa,ccc,ddd=567,eee}
let a =Color.blue
let b =Color.hotpink
let c =Color.eee
console.log(a) //輸出0
console.log(b) //輸出1081
console.log(c) //輸出568
也就是說(shuō) 如果沒(méi)有賦值,那么打印出來(lái)該key的vaule就是他的下標(biāo) 但如果 前一個(gè)賦值,后一個(gè) 就要在前一個(gè)的基礎(chǔ)上+1
如上面的例子 eee前面的ddd是567 那么后面的eee就是568
第一個(gè)blue 沒(méi)有值 就按照他的下標(biāo) 0