typeScript筆記 高階型別

2021-10-09 10:23:53 字數 764 閱讀 4436

inte***ce obj 

同態型別 只能對映存在的

type readonlyobj = readonly// 唯讀

type partialobj = partial// 介面所有的屬性變成可選的

type pickobj = pick// 要抽取的介面的key

非同態型別 開定義新的屬性

type recordobj = record<'x' | 'y', obj> //第乙個引數是:要定義的新已知型別的屬性,第二個引數是已有的

// t extends u ? x : y;

type typename=

t extends string ? "string" :

t extends number ? "number" :

t extends boolean ? "boolean" :

t extends undefined ? "undefined" :

t extends funtion ? "function" :

"object"

type t1 = typenametype t2 = typename// (a | b) extends u ? x : y

type t3 = typenametype diff= t extends u ? never : t;

type t4 = diff<"a" | "b" | "c", "a" | "c">

TypeScript學習筆記3 類與介面

介面 inte ces 可以用於對 物件的形狀 shape 進行描述。implements 實現 implements 是物件導向中的乙個重要概念。類實現介面 乙個類只能繼承自另乙個類,有時候不同類之間可以有一些共有的特性,這時候就可以把特性提取成介面 inte ces 用 implements 關...

TypeScript高階篇 宣告合併

如果定義了兩個相同名字的函式 介面或類,那麼他們會合併成乙個型別 函式的合併 我們可以使用過載定義多個函式型別 function reverse x number number function reverse x string string function reverse x number st...

Typescript學習筆記

物件導向特性 類類的宣告 用class關鍵字 加類名 class person 類宣告完之後就可以被例項化了,類相當於乙個模子.name string eat var p1 new person p1.name batman p1.eat var p2 new person p2.name supe...