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...