typeScript學(xué)習(xí)01

布爾類型

布爾值是最基礎(chǔ)的數(shù)據(jù)類型,在 TypeScript 中,使用 boolean 定義布爾值類型:

const bool1: boolean = false 
const bool2: boolean = 'fasle'   //編譯器報(bào)錯犀变,不能將類型“"dsdsd"”分配給類型“boolean”。
const bool3: boolean = new Boolean(1)  // 不能將類型“Boolean”分配給類型“boolean”。 “boolean”是基元沙峻,但“Boolean”是包裝器對象。如可能首選使用“boolean”两芳。
const bool4: boolean = Boolean(0)
console.log(bool4)   // false
const bool5: boolean = Boolean(1)
console.log(bool5)   // false

數(shù)值類型

使用 number 定義數(shù)值類型:

let num: number = 1212
num = 0b101110  // 二進(jìn)制
num = 0o172     // 八進(jìn)制
num = 0x7b      // 十六進(jìn)制    

字符串類型

使用 string 定義字符串類型:

let str1: string = 'jsbin'
let str2: string = `使用es6的字符串模板也可以${num}`

數(shù)組類型

定義數(shù)組有兩種寫法

let arr1: number[] = [1,2,3,4]         // 寫法1
let arr2: Array<number> = [1,2]        // 寫法2
let arr3: (string | number)[] = [1]    // 聯(lián)合類型摔寨,既可以是數(shù)字類型,也可以有字符串類型
let arr4: Array<number | string> = [1, '2']

元組類型

長度固定怖辆,對應(yīng)數(shù)據(jù)的數(shù)據(jù)類型要一致

const tuple1: [string, boolean, number] = ['jsbin', true, 0]
const tuple2: [string, number] = ['jsbin', '12121']  // 不能將類型“string”分配給類型“number”是复。
const tuple3: [string, number] = ['jsbin', 121, 1212] // 不能將類型“[string, number, number]”分配給類型“[string, number]”。屬性“l(fā)ength”的類型不兼容疗隶。

枚舉類型

enum Rolse {
  SUPER_ADMIN = 905,
  ADMIN,
  USER
}

// 編譯成js之后
var Rolse;
  (function (Rolse) {
    Rolse[Rolse["SUPER_ADMINS"] = 905] = "SUPER_ADMINS";
    Rolse[Rolse["ADMINS"] = 906] = "ADMINS";
    Rolse[Rolse["USERS"] = 907] = "USERS";
  })(Rolse || (Rolse = {}));
 
 console.log(Rolse.USER)  // 907

any

// any類型(任何類型)
let any: any
any = 0
any = false
any = '1212'

空值void

avaScript 沒有空值(Void)的概念佑笋,在 TypeScript 中,可以用 void 表示沒有任何返回值的函數(shù):

function alertName(): void {
    console.log(JsBin');
}

聲明一個 void 類型的變量沒有什么用斑鼻,因?yàn)槟阒荒軐⑺x值為 undefined 和 null:

const unusable: void = undefined;

null和undefined

在 TypeScript 中蒋纬,可以使用 null 和 undefined 來定義這兩個原始數(shù)據(jù)類型:
與 void 的區(qū)別是,undefined 和 null 是所有類型的子類型坚弱。也就是說 undefined 類型的變量蜀备,可以賦值給 number 類型的變量:

let u: undefined = undefined
let n: null = null

// 這樣不會報(bào)錯
let num: number = undefined;

// 這樣也不會報(bào)錯
let u: undefined;
let num: number = u;

// Type 'void' is not assignable to type 'number'.
let u: void;
let num: number = u;

never

// never  (別得類型都不能)
const errorFn = (message: string) : never => {
  throw new Error('dsd')
}

object

使用object定義對象類型

// object
let obj: object = {
  name: 'jsbin'
}

類型斷言

類型斷言(Type Assertion)可以用來手動指定一個值的類型。兩種寫法1.<類型>值荒叶; 2.值 as 類型

// 類型斷言        
function getLength(something: string | number): number {
  if ((<string>something).length) {
      return ((something as string).length);
  } else {
      return something.toString().length;
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碾阁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子些楣,更是在濱河造成了極大的恐慌脂凶,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愁茁,死亡現(xiàn)場離奇詭異蚕钦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鹅很,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門嘶居,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人促煮,你說我怎么就攤上這事邮屁≌” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵佑吝,是天一觀的道長坐昙。 經(jīng)常有香客問我,道長芋忿,這世上最難降的妖魔是什么民珍? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮盗飒,結(jié)果婚禮上嚷量,老公的妹妹穿的比我還像新娘。我一直安慰自己逆趣,他們只是感情好蝶溶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宣渗,像睡著了一般抖所。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痕囱,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天田轧,我揣著相機(jī)與錄音,去河邊找鬼鞍恢。 笑死傻粘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的帮掉。 我是一名探鬼主播弦悉,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蟆炊!你這毒婦竟也來了稽莉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤涩搓,失蹤者是張志新(化名)和其女友劉穎污秆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昧甘,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡良拼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了疾层。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片将饺。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡贡避,死狀恐怖痛黎,靈堂內(nèi)的尸體忽然破棺而出予弧,到底是詐尸還是另有隱情,我是刑警寧澤湖饱,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布掖蛤,位于F島的核電站,受9級特大地震影響井厌,放射性物質(zhì)發(fā)生泄漏蚓庭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一仅仆、第九天 我趴在偏房一處隱蔽的房頂上張望器赞。 院中可真熱鬧,春花似錦墓拜、人聲如沸港柜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夏醉。三九已至,卻和暖如春涌韩,著一層夾襖步出監(jiān)牢的瞬間畔柔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工臣樱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靶擦,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓雇毫,卻偏偏與公主長得像奢啥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嘴拢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

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

  • 一桩盲、什么是 TypeScript? 百度解釋:TypeScript是一種由微軟開發(fā)的自由和開源的編程語言席吴。它是Ja...
    wave浪兒閱讀 2,204評論 1 20
  • 簡介 TypeScript 是 JavaScript 的一個超集赌结,主要提供了 類型系統(tǒng) 和對 ES6 的支持,由 ...
    MrWelson閱讀 15,884評論 3 21
  • 關(guān)于TypeScript TypeScript是JavaScript的超集孝冒,主要提供類型系統(tǒng)和對ES6的支持柬姚,由M...
    kim_jin閱讀 735評論 0 1
  • 前言 現(xiàn)在TypeScript越來越火,咱也趕一下潮流庄涡,開始學(xué)習(xí)一下TypeScript量承,在學(xué)習(xí)的同時做筆記記錄,...
    郝晨光閱讀 1,452評論 0 7
  • typescript現(xiàn)在已經(jīng)慢慢變成前端工程師必學(xué)必會的技能了,它在開發(fā)大型應(yīng)用的時候可以讓產(chǎn)品更加可控撕捍,本篇就試...
    大喵愛讀書閱讀 4,295評論 0 5