TypeScript的基礎類型

TS是什麼?
TypeScript是ECMAScript 2015的語法超集,是JavaScript的語法糖。JavaScript程序可以直接移植到TypeScript,TypeScript需要編譯(語法轉換)生成JavaScript才能被瀏覽器執行。

一、JavaScript代碼可以在無需任何修改的情況下與TypeScript一同工作,同時可以使用編譯器將TypeScript代碼轉換爲JavaScript
構建你的第一個TypeScript文件
在編輯器,將下面的代碼輸入到greeter.ts文件裏:
在這裏插入圖片描述

編譯代碼
我們使用了.ts擴展名,但是這段代碼僅僅是JavaScript而已。 你可以直接從現有的JavaScript應用裏複製/粘貼這段代碼。

在命令行上,運行TypeScript編譯器:

tsc greeter.ts

輸出結果爲一個greeter.js文件,它包含了和輸入文件中相同的JavsScript代碼。 一切準備就緒,我們可以運行這個使用TypeScript寫的JavaScript應用了!

二、TypeScript通過類型註解提供編譯時的靜態類型檢查
TypeScript裏的類型註解是一種輕量級的爲函數或變量添加約束的方式。
這裏函數的參數已經定義了數據類型爲string,當我們想給它傳一個其它類型的參數時就會報錯。
在這裏插入圖片描述
在這裏插入圖片描述
三、TypeScript中的數據要求帶有明確的類型,JavsScript不要求
TypeScript支持與JavaScript幾乎相同的數據類型,此外還提供了實用的枚舉類型方便我們使用。
布爾值

let lock: boolean = false;

數字

let num: number = 10;

字符串

let name: string = "jack";

數組

//元素類型後面接上 [],表示由此類型元素組成的一個數組
let list: number[] = [1, 2, 3];
//數組泛型,Array<元素類型>
let list: Array<number> = [1, 2, 3];

元組
元組類型允許表示一個已知元素數量和類型的數組,各元素的類型不必相同。 比如,你可以定義一對值分別爲 string和number類型的元組。

let con: [string, number];
con = ['123', 10];

枚舉
enum類型是對JavaScript標準數據類型的一個補充。

enum Num{a, b, c}
let n: Num = Num.a;

Any
有時候,我們會想要給還不清楚類型的變量指定一個類型。那麼我們可以使用 any類型來標記這些變量

let notSure: any = 20;
notSure = "hello world";
notSure = false;

Void
某種程度上來說,void類型像是與any類型相反,它表示沒有任何類型。 當一個函數沒有返回值時,你通常會見到其返回值類型是 void
聲明一個void類型的變量,只能賦值undefined和null

let con: void = undefined;

Null 和 Undefined
和 void相似,它們的本身的類型用處不是很大

Never
never類型表示的是那些永不存在的值的類型。

// 返回never的函數必須存在無法達到的終點
function error(message: string): never {
    throw new Error(message);
}

Object
object表示非原始類型,也就是除number,string,boolean,symbol,null或undefined之外的類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章