TypeScript中的介面

2021-10-01 10:34:53 字數 1677 閱讀 5139

介紹:

typescript的核心原則之一是對值所具有的結構進行型別檢查。它有時被稱做「鴨式辨型法」或「結構性子型別化」。在typescript裡,介面的作用就是為這些型別命名和為你的**或第三方**定義契約。

通過關鍵字inte***ce來定義介面

inte***ce list

inte***ce result

function render(result:result) )

}let result=, //只要介面中有必須的字段,即使出現了額外的字段也不會報錯

]}render(result);

如果這裡我們直接使用字面量的方式,ts就會對額外的字段進行型別檢查。

render(,  //報錯

]})

那麼,我就不繞彎子了,繞過這種型別檢查的方式一共有三種:

1.把物件字面量賦值給乙個變數,函式接收變數(就像我們最上面的做法)

2.型別斷言(型別斷言的含義是我們要告訴編譯器我們知道這個物件的型別就是***)

// 型別斷言也有兩種書寫方式

//1.通過as關鍵字

render(,

]} as result)

//2.通過<>號

render(,

]})

3.使用字串索引簽名:

inte***ce list
介面成員的屬性:

1.可選屬性:

inte***ce list
2.唯讀屬性:

inte***ce list
當我們不確定介面中屬性的個數時,就可以使用可索引型別的介面(可索引型別的介面可以用字串去索引也可以用數字去索引)

inte***ce stringarray

let chars:stringarray=['a','b'];

inte***ce name

函式定義的三種方式:

// 1.用變數來定義函式型別

let adds : (x:number,y:number)=>number;

adds=(a,b)=>a+b;

// 2.用介面宣告函式

inte***ce add

let add:add=(a,b)=>a+b;

// 3.型別別名定義函式(為我們的函式型別和起乙個名字,函式名為ps)

type ps=(x:number,y:number)=>number;

let as:ps=(a,b)=>a+b;

下面我們來看一下混合型別介面:

乙個介面既可以定義乙個函式,也可以像物件一樣擁有屬性和方法

// 定義乙個混合型別的介面

inte***ce lib

//實現混合型別的介面

let lib:lib=(()=>{}) as lib;

lib.version='2.0';

lib.dosomestring=()=>{};

TypeScript中的介面

在物件導向的程式設計中,介面是一種規範的定義,定義了行為和動作的規範.介面不關心這些類的內部狀態資料,也不關心這些類裡方法的實現細節,它只規定這批類裡必須提供某些方法,提供這些方法的類就可以滿足實際需要。typescript中的介面分為 1,屬性介面 2,函式型別介面 3,可索引介面 4,類型別介面...

TypeScript中物件的型別限制 介面

物件的型別 介面 介面在ts中的作用之一 typescript 中的介面是乙個非常靈活的概念,除了可用於對類的一部分行為進行抽象以外,也常用於對物件的形狀進行描述。此篇主要學習對物件的形狀進行描述.inte ce person let tom person let merry person let ...

筆記 TypeScript介面

在物件導向的程式設計中,介面是一種規範的定義,它定義了行為和動作的規範,在程式設計裡面,介面起到一種限制和規範的作用。介面定義了某一批類所需要遵循的規範,介面不關心這些類的內部狀態資料,也不關心這些類裡的方法的實現細節,它只規定這批類裡必須提供某些方法,提供某些方法,提供這些方法的類就可以滿足實際需...