TypeScript入門級(1)

1.typeScript安裝步驟

  • a.用 tsc --init 初始化配置
  • b.編輯 tsconfig.json 配置 TypeScript 選項

2.typeScript基本類型

  • boolean 布爾類型
  • Number 數字
  • String 字符串
  • void 空值
  • null
  • undefined
  • symbol
在使用symbol時,必須添加ES6編譯輔助庫 "lib": ["es6"]
  • BigInt
BigInt (能夠存儲和操做大整數) 在使用時,須要添加ESNext的編譯輔助庫 "lib": ["ESNext"]

3.typeScript中的其餘常見類型

  • any 任意類型
  • unknown typeScript3.0引入的類型,any類的安全類型

nknown 和 any 的主要區別是  unknown 類型會更加嚴格:在對unknown類型的值執行大多數操做以前,咱們必須進行某種形式的檢查, 而在對 any 類型的值執行操做以前,咱們沒必要進行任何檢查 html

let value: any; 
value.foo.bar; // OK

let value: unknown; 
value.foo.bar; // ERROR
  • never
never 類型表示的是那些永不存在的值的類型,never 類型是任何類型的子類型,也能夠賦值給任何類型; 然而,沒有類型是 never 的子類型或能夠賦值給 never 類型(除了never自己以外) 注:即便any也不能夠賦值給never。
// 拋出異常的函數永遠不會有返回值 
function error(message: string): never { 
    throw new Error(message); 
} 

// 空數組,並且永遠是空的 
const empty: never[] = []
  • Array(數組)
數組有兩種類型定義方式,一種是使用泛型:
const list: Array<number> = [1, 2, 3]

另外一種使用更加普遍那就是在元素類型後面接上 
[]: const list: number[] = [1, 2, 3]es6

  • 元組(Tuple)

元組類型與數組類型很是類似,表示一個已知元素數量和類型的數組,各元素的類型沒必要相同json

let x: [string, number]; 

x = ['hello', 10, false] // Error 

x = ['hello'] // Error 

x = [10, 'hello'] // Error 

x = ['hello', 10] // ok 

interface Tuple extends Array<string | number> { 
    0: string; 
    1: number; 
    length: 2; 
} 
const tuple: [string, number] = ['a', 1]; tuple.push(2); // ok 

console.log(tuple); // ["a", 1, 2] -> 正常打印出來 

console.log(tuple[2]); // Tuple type '[string, number]' of length '2' has no element at index '2'
  • Object
object 表示非原始類型,也就是除 number,string,boolean,symbol,null 或 undefined 以外的類型。
相關文章
相關標籤/搜索