Typescript類型注解/類型推斷

??TypeScript是微軟開發(fā)的一個開源的編程語言裸准,通過在JavaScript的基礎(chǔ)上添加靜態(tài)類型定義構(gòu)建而成权悟,是javascript的超集僵芹。類型注解就是在聲明變量的同時,說明該變量的類型疆栏。
??雖然說在javascript中我們也有number,boolean嚎莉,string等類型,但是在使用時他們類型都是可以隨時改變的醉旦,這樣不利于程序的閱讀與維護(hù)饶米。

類型注解

??在typescript中,一旦為變量添加了類型注解车胡,這個變量的類型就不能發(fā)生改變檬输,否則編譯報錯,不通過匈棘。
??下面一起看看類型注解的使用吧:

  • number
// 聲明變量并指定類型
let age: number
// 賦值
age = 18

其實也挺簡單就是“變量名:變量類型”
如果給age賦值一個字符串丧慈,就會報錯,其他類型亦是如此
剩下的boolean,string逃默,null鹃愤,undefined,any(任意類型)完域,never(永不存在的值的類型)都是這樣


Snipaste_2021-04-13_20-46-35.png
  • 數(shù)組
let arr: string[] = []
let arr: number[] = []
……
let newArr: string[] = new Array()
let newArr: number[] = new Array()
……

為數(shù)組聲明類型之后软吐,說明該數(shù)組只能存儲該類型的元素,就不能什么類型都往里存了

  • 元組
    數(shù)組的元素類型被限制了吟税,使用起來貌似比較麻煩了凹耙,想要存入不同類型的元素怎么辦?官方為我們提供了一個新的數(shù)據(jù)類型------元組
let tup: [string, number, boolean] = ["元組類型", 12, true]

聲明方式就是在冒號的中括號中聲明你的數(shù)據(jù)每一個位置的數(shù)據(jù)類型肠仪,同樣的后面的數(shù)的類型必須和聲明時的數(shù)據(jù)類型位置一一對應(yīng)肖抱,否則也是錯誤的

  • 枚舉
    枚舉類型是對JavaScript標(biāo)準(zhǔn)數(shù)據(jù)類型的一個補充,使用enum關(guān)鍵字聲明
enum 名字{ 元素1, 元素2异旧,……}
enum Gender { Female, Male }

使用枚舉:

let userGender: Gender

詳細(xì)用法可以看這:

  • 函數(shù)
    在了解函數(shù)的使用時虐沥,先來看看void這個類型:它表示沒有任何類型,當(dāng)一個函數(shù)沒有返回值時泽艘,設(shè)置函數(shù)的函數(shù)的返回值是void
    1.基本的函數(shù)
    function fn(): void {}
    
    2.傳遞參數(shù)的函數(shù)
    在傳遞參數(shù)的時候要為參數(shù)聲明類型,函數(shù)的返回值類型可以不寫類 型,但是參數(shù)的類型注解必須寫
    function fn(n: number): void {}
    function fn(n: number镐依,s: string): void {}
    function fn(n: number, ag: number[]): void {}
    
    3.函數(shù)的返回值
    沒有返回值寫void匹涮,當(dāng)然返回值類型注解可以省略
    function fn(n: number): number{}
    function fn(n: number,s: string): void {}
    function fn(n: number, ag: number[]): string[]{}
    
  • 對象
    1.先聲明對象的每個成員的類型槐壳,方法要指明返回值類型
    let person1: {
      name: string,
      age: number,
      sing: () => void,
      sum: (n1: number, n2: number) => number
    }
    
    person1 = {
        name: "張三",
        age: 23,
        sing: function () {
            console.log("ni hao");
        },
        sum: function (n1: number, n2: number) {
            return n1 + n2
        }
    }
    
    2.你也可以一步到位
    let cars : {
       name: string,
        weigth: number,
        height: number
    } = {
        name: "大眾",
        weigth: 210,
        height: 140
    }
    

類型推斷

看了類型注解是不是頭都大了然低??哈哈
其實有時候我們是可以不用寫類型注解的,所謂類型推斷就是TypeScript可以通過變量值倒推變量類型
1.聲明的同時就賦值

let age = 20

雖然沒有顯式的聲明類型务唐,但是賦值是什么類型雳攘,他就是什么類型,ts會自動判斷枫笛,所以也不可以改變它的類型
2.就是函數(shù)返回值啦

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吨灭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子刑巧,更是在濱河造成了極大的恐慌喧兄,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啊楚,死亡現(xiàn)場離奇詭異吠冤,居然都是意外死亡,警方通過查閱死者的電腦和手機恭理,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門拯辙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人颜价,你說我怎么就攤上這事涯保∷弑簦” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵遭赂,是天一觀的道長循诉。 經(jīng)常有香客問我,道長撇他,這世上最難降的妖魔是什么茄猫? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮困肩,結(jié)果婚禮上划纽,老公的妹妹穿的比我還像新娘。我一直安慰自己锌畸,他們只是感情好勇劣,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著潭枣,像睡著了一般比默。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盆犁,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天命咐,我揣著相機與錄音,去河邊找鬼谐岁。 笑死醋奠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伊佃。 我是一名探鬼主播窜司,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼航揉!你這毒婦竟也來了塞祈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤迷捧,失蹤者是張志新(化名)和其女友劉穎织咧,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漠秋,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡笙蒙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了庆锦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捅位。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出艇搀,到底是詐尸還是另有隱情尿扯,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布焰雕,位于F島的核電站衷笋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏矩屁。R本人自食惡果不足惜辟宗,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吝秕。 院中可真熱鬧泊脐,春花似錦、人聲如沸烁峭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽约郁。三九已至缩挑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鬓梅,已是汗流浹背调煎。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留己肮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓悲关,卻偏偏與公主長得像谎僻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寓辱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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