TypeScript
TypeScript是基於ES6語法之上構建的一門新的語言,相比較於ES6最大的變化就是增加了強類型,結合ES6新增的對面向對象的擴展,整體編碼感覺更接近於編譯型語言,比如java。
不會把所有的語法都詳盡的羅列出來,主要記錄一下,我們在開發過程中經常會用到的一些語法,方便後期回顧和溫習。
TypeScript中文手冊 語法詳盡,可以平時用於查閱。
數據類型
ts提供的基本數據類型主要有以下幾種:
- Boolean
true or false 布爾值
- number
數值
- string
字符串
- string[]
數組
- enum
枚舉
- enum Color {Red, Green, Blue}
- let c:Color = Color.Green
- any
任意值
- void
空
聲明變量
let const 同es6
interface接口
1.數據類型
接口在TypeScript中代表一種數據類型
,通過接口用戶可以自己擴展基礎類型。在ES6中不存在接口。
interface SqareConfig {
color: string
height: numbe
}
function createSqare(config: SqareConfig) {
// TODO ...
}
let mySqare = createSqare({color: 'red', height: 200})
2.函數類型
接口中的變量除了可以是基礎數據類型外,還可以是函數類型
interface searchFn {
(source: string, substring: string): boolean
}
let mySearch: searchFn
mySearch = function(source: string, substring: string) {
// ...
return false
}
接口可以被實現,用法和java類似
class類
在ES6中就有相關 類的語法糖,ts對其進行了一些extend。
- 增加了public(default),private,protected訪問限制符
-
public
修飾的屬性或方法是公有的,可以在任何地方被訪問到,默認所有的屬性和方法都是public
的 -
private
修飾的屬性或方法是私有的,不能在聲明它的類的外部訪問 -
protected
修飾的屬性或方法是受保護的,它和private
類似,區別是它在子類中也是允許被訪問的
-
- 在構造函數的參數中使用訪問限制符,可以直接set和init variable
泛型
泛型(Generics)是指在定義函數、接口或類的時候,不預先指定具體的類型,而在使用的時候再指定類型的一種特性
泛型主要用戶兩種場景:
1. 泛型函數
2. 泛型類,泛型類使用(<>)括起來,跟在類名後面