TypeScript高階篇 宣告合併

2021-10-25 10:42:33 字數 769 閱讀 5384

如果定義了兩個相同名字的函式、介面或類,那麼他們會合併成乙個型別:

函式的合併

我們可以使用過載定義多個函式型別:

function reverse(x: number): number;

function reverse(x: string): string;

function reverse(x: number | string): number | string else if (typeof x === 'string')

}

介面的合併

介面中的屬性在合併時會簡單的合併到乙個介面中

inte***ce alarm 

inte***ce alarm

相當於

inte***ce alarm
相同屬性合併,屬性的型別必須是唯一的:

inte***ce alarm 

inte***ce alarm

inte***ce alarm 

inte***ce alarm

介面中方法的合併,與函式的合併一樣:

inte***ce alarm 

inte***ce alarm

相當於

inte***ce alarm
類的合併

類的合併與介面的合併規則一致。

TypeScript 變數宣告

ts 宣告變數有var let和const三種方式,它們在 ts 中的用法與 js 一致。與其他語言的變數宣告相比,var宣告的變數有一些比較奇怪的作用域規則,主要體現在 最常見的例子如下 function f1 100 i f1 很多人認為輸出列印為 0 到 10 的數字,然而真實列印為 10 個...

Typescript 常用變數型別宣告

基礎型別 number boolean string const int arg1 number 陣列型別 const arr1 arg1 number 另一種寫法,使用泛型 const arr2 arg1 array 任意型別 any any 表示引數可以為任意型別 const any arg1 ...

typeScript筆記 高階型別

inte ce obj 同態型別 只能對映存在的 type readonlyobj readonly 唯讀 type partialobj partial 介面所有的屬性變成可選的 type pickobj pick 要抽取的介面的key 非同態型別 開定義新的屬性 type recordobj r...