人門學(xué)習(xí)Typescript(2)

類型指定

let a:number //為a變量指定了類型為number
a=1
a='1' //會報錯因為'1'不為number類型 但是可以編譯成功 可以設(shè)置為不能編譯通過

let a1=0  //也會指定為number類型 TS會做類型判斷如果你初始值為number類型就指定了這個變量只能為number類型

除了number類型還有其他類型的我這里就不一一舉例了

typesrc.png

這里解釋一下上圖boolean類型以下的類型

// 字面量 
let b:10 //b指定了常量只能為10
let b=10 //不會報錯
let b=11 //報錯因為b只能為10
// 如果指定的類型為對象類型是否內(nèi)部的值是否可以改變呢
let b1={name:'孫悟空',age:20}
b1={name:'豬八戒',age:20} //name會報錯因為name你指定的值為孫悟空,但是你后面賦值為的是豬八戒,所以他就會給你報錯,并不會像js中的let 可以改變對象內(nèi)部的值
// 如果我們需要去改變內(nèi)部對象的值也可以做到就是不指定他具體的值而是給他一個類型 如
let b1={name:string,age:number}
// 這時候就可以指定類型的值在對象中
b1={name:'孫悟空',age:20}
b1={name:'豬八戒',age:20}
// 都是可以做到的了也不會報錯哦

// any類型
let c:any
// 他就可以是任意js類型不會報錯但是也不會有提示
c=1
c='1'
c='heello'
c=true
c=['1',1,true]
c={name:'孫悟空',age:20}

b1=c //這樣也是不會報錯的但是接下來的類型unknown就不能這樣做了

// unknown 類型

let d:unknown
d=1
d='1'
d='hello'
d=true
d=['1',1,true]
d={name:'孫悟空',age:20}
b1=d  //報錯原因是不能將unknown類型賦值給一個對象類型 所以unknown類型是相對于any的一個安全類型 會被類型檢測合約束

總結(jié):any 是可以接受任何值奇钞,也可以給任何值賦值,unknown接收任何值并不能給任何變量賦值

// void 類型
// 為空或者undefined
let e:void
e=undefined //不報錯 募胃,其他的值就會報錯
e=unll //報錯

// 所以一般用來指定沒有返回值的函數(shù)類型 后面我會說到

// never 類型 
let f:never
f=undefined //報錯不能將undefined賦值給never類型祥诽,所以就常常用它來表示報錯的err函數(shù)
function fn3(): never{
    throw new Error("報錯了锥余!");
}

// object對象類型
let obj:object
obj={name:'孫悟空'}
obj={name:'孫悟空',age:18}
// 如果我們需要指定一個對象他必須有一個屬性那么我們的寫法就會寫成這樣去限制他必須有這個屬性
let obj2:{name:string,age?:number} //age?:number 那么age屬性就變成了一個可選屬性可以有也可以沒有
obj2={} //報錯 obj2定義了name必需屬性切類型為string饼煞,但是我們給他賦值了一個空對象所以報錯了
obj2={name:'孫悟空'}  //不填age屬性也不會報錯
obj2={name:'豬八戒',age:18}  
obj2={name:'豬八戒',age:18,sex:'男'} //報錯因為沒有sex這個屬性 那我們需要這樣去接收未知屬性應(yīng)該怎么辦呢源葫?

// 解決方法 就是利用any類型

let obj3:{name:string,[propName:string]:any}
// [propName:string]:any 是指定的名字為string 接收的類型為any
obj3={name:'孫悟空',age:18,sex:'男'}//可以無限接收參數(shù)

let arr:Array<number> //《語法: let 變量名:Array<接受參數(shù)類型>》
arr=[1,2,3,4,5,6]
arr=['hello','word'] //報錯不能將string 賦值給number

// tuple 元組 就是固定了數(shù)組的長度
let arr2:[number,string] //規(guī)定了長度為2的一個元組第一個類型為number第二個為string 
arr2=[1,'1']
arr2=[1] //報錯 不能將類型“[number]”分配給類型“[number, string]”。只傳了 1 個元素砖瞧,但arr2需要 2 個息堂。
arr2=[1,'aaa',3] //報錯 不能將類型“[number, string, number]”分配給類型“[number, string]”。傳了 3 個元素块促,但目標(biāo)僅允許 2 個荣堰。

// 枚舉類型 一般用來對一些常用的量做儲存 就比如男女性別等
enum Name{
  A='孫悟空',
  B='豬八戒',
  C='沙和尚'
}
let enm:{name:string,age?:18}
enm={name:'孫悟空'}
console.log(enm.name===Name.A);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市竭翠,隨后出現(xiàn)的幾起案子振坚,更是在濱河造成了極大的恐慌,老刑警劉巖斋扰,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屡拨,死亡現(xiàn)場離奇詭異,居然都是意外死亡褥实,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門裂允,熙熙樓的掌柜王于貴愁眉苦臉地迎上來损离,“玉大人,你說我怎么就攤上這事绝编∑欤” “怎么了貌踏?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窟勃。 經(jīng)常有香客問我祖乳,道長,這世上最難降的妖魔是什么秉氧? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任眷昆,我火速辦了婚禮,結(jié)果婚禮上汁咏,老公的妹妹穿的比我還像新娘亚斋。我一直安慰自己,他們只是感情好攘滩,可當(dāng)我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布帅刊。 她就那樣靜靜地躺著,像睡著了一般漂问。 火紅的嫁衣襯著肌膚如雪赖瞒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天蚤假,我揣著相機與錄音栏饮,去河邊找鬼。 笑死勤哗,一個胖子當(dāng)著我的面吹牛抡爹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芒划,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冬竟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了民逼?” 一聲冷哼從身側(cè)響起泵殴,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拼苍,沒想到半個月后笑诅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡疮鲫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年吆你,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俊犯。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡妇多,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燕侠,到底是詐尸還是另有隱情者祖,我是刑警寧澤立莉,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站七问,受9級特大地震影響蜓耻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜械巡,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一刹淌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坟比,春花似錦芦鳍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至籍琳,卻和暖如春菲宴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背趋急。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工喝峦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人呜达。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓谣蠢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親查近。 傳聞我的和親對象是個殘疾皇子眉踱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容