日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

第七节:在 TypeScript 中什么是类型推论?

發(fā)布時(shí)間:2025/3/15 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第七节:在 TypeScript 中什么是类型推论? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上一節(jié),我們學(xué)習(xí)了TypeScript中的一種新的數(shù)據(jù)類型:元組Tuple。沒(méi)學(xué)習(xí)上一節(jié)的同學(xué)可以戳:《又一種新的數(shù)據(jù)類型:元組Tuple》?

這一節(jié),我們一起來(lái)學(xué)習(xí)一下TypeScript中的:類型推論。?

第五節(jié)我們介紹《任意值any》的時(shí)候有講過(guò),我們定義一個(gè)變量的時(shí)候,如果沒(méi)有給它指定類型,也沒(méi)有給它賦值,那么這個(gè)變量就會(huì)被當(dāng)作任意值any類型來(lái)處理,可以給它賦任意類型的值。?

任意值any類型

回顧一下:

? //未指定任何類型
? let notSureType;

? //允許賦string類型的值
? notSureType = 'hello';

? //允許賦number類型的值
? notSureType = 2;


?

相當(dāng)于:

?


??//指定為any類型
?let notSureType:any;

? //允許賦string類型的值
? notSureType = 'hello';

? //允許賦number類型的值
? notSureType = 2;

?

但以上的寫法中,有一點(diǎn)需要注意的前提條件是:定義變量的時(shí)候,變量是沒(méi)有被賦值的。如果在定義變量的時(shí)候沒(méi)有指定類型,但又賦值了,會(huì)發(fā)生什么情況呢?

?


//未指定變量類型,且進(jìn)行賦值
let sentence = "hello 前端君";

上面的一行代碼,我們看到,變量?sentence?定義的時(shí)候并沒(méi)有指定類型,但已賦值字符串:”hello 前端君”。

這種情況,和第一個(gè)任意值any案例聲明變量未指定類型,未賦值有什么區(qū)別呢?

我們對(duì)變量 sentence 做一個(gè)操作就知道了:

?


//未指定變量類型,且進(jìn)行賦值
let sentence = "hello 前端君";

//賦數(shù)值類型的值:100
sentence = 100;
//結(jié)果:編譯報(bào)錯(cuò)

?

我們看到了,編譯報(bào)錯(cuò)。

提示:Type 'number' is not assignable to type'string'

意思是:數(shù)值number類型的值不能賦值給字符串string類型的變量。?

奇怪了,我們并沒(méi)有給變量?sentence?指定類型,為什么現(xiàn)在說(shuō)它是string類型呢??

類型推論

這是因?yàn)門ypeScript的類型推論在起作用了。?

類型推論:如果沒(méi)有明確的指定類型,那么 TypeScript會(huì)依照類型推論的規(guī)則推斷出一個(gè)類型。

很明顯,以上的案例中的?sentence?被推論為字符串string類型,而非任意值any類型,所以后續(xù)給它賦數(shù)值number類型的值7時(shí),會(huì)報(bào)錯(cuò)。?

這一節(jié)主要是提醒大家,在TypeScript中,當(dāng)你去定義一個(gè)變量時(shí),沒(méi)有指定類型時(shí)候,是否給它賦值,是會(huì)影響它的類型的。?

前端君給大家作個(gè)圖,讓大家更直觀的理解它們的區(qū)別:

(一目了然)

熱門文章

TypeScript系列,正在連載 。。。

?第1章節(jié):《大白話,初識(shí)TypeScript》

?第2章節(jié):《輕輕松松,安裝TypeScript》

?第3章節(jié):《快速編譯TypeScript,提高開(kāi)發(fā)效率》

?第4章節(jié):《5種數(shù)據(jù)類型在TypeScript中的運(yùn)用》

?第5章節(jié):《強(qiáng)大的數(shù)據(jù)類型:any任意值》

?第6章節(jié):《新的數(shù)據(jù)類型:元組Tuple》

?后續(xù)章節(jié),陸續(xù)更新,敬請(qǐng)期待...

擴(kuò)展閱讀

?原創(chuàng)教程:《ECMAScript 6 教程》

?原創(chuàng)教程:《Vue2.0基礎(chǔ)教程》

?原創(chuàng)教程:《Vue2.0進(jìn)階教程》

?附加習(xí)題:《ECMAScript 6 教程》的 2套

?附加習(xí)題:《Vue2.0基礎(chǔ)教程》的 1 套

聊聊職場(chǎng)

?職場(chǎng)感悟:混口飯吃,談不上喜歡

?感到迷茫:我很努力,但依然很迷茫

?薪資待遇:那么點(diǎn)工資,能招到人嗎?

?搞笑黑話:互聯(lián)網(wǎng)公司黑話,搞笑到爆

?職業(yè)自由:程序員職業(yè)自由的6個(gè)階段

資源推薦

其實(shí)學(xué)好技術(shù)并不難,架構(gòu)師免費(fèi)分享全網(wǎng)全套最新web前端、JavaScript、HTML5、PHP、數(shù)據(jù)庫(kù)……等視頻資料!

[總價(jià)值超3萬(wàn)!]年薪35萬(wàn)以上的大牛幾乎都看了!

加微信:?abc15689893?免費(fèi)領(lǐng)取,由于領(lǐng)取的朋友比較多,所以加微信時(shí)一定要備注:7,否則很難通過(guò)。

?

總結(jié)

以上是生活随笔為你收集整理的第七节:在 TypeScript 中什么是类型推论?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。