TypeScript中物件的型別限制 介面

2021-10-01 19:50:28 字數 915 閱讀 2012

物件的型別–介面(介面在ts中的作用之一)

typescript 中的介面是乙個非常靈活的概念,除了可用於對類的一部分行為進行抽象以外,也常用於對物件的形狀進行描述。此篇主要學習對物件的形狀進行描述.

inte***ce person

let tom:person =

let merry:person =

let lisi:person =

為物件指定型別時,必須與介面的』形狀』一模一樣,多乙個少乙個都會報錯。

有的時候我們不想要跟介面的屬性一摸一樣,就可以給介面用?號定義可選屬性。

inte***ce person

let tom:person =

let marry:person =

console.log(tom);

console.log(marry);

[propname: string]: any;   //任意屬性的形式
小例子:

inte***ce person1

let timi:person1 =

console.log(timi);

需要注意:

確定屬性與可選屬性必須是任意屬性資料型別的子集,否則報錯。

定義任意屬性後,可新增的任意屬性不止乙個。

需要注意:唯讀的約束存在於第一次給物件賦值的時候,而不是第一次給唯讀屬性賦值的時候,還有就是給物件賦值的時候,必須給唯讀屬性賦值。

定義方式:屬性前加readonly

inte***ce pers

let dog:pers=

let cat:pers=

Typescript 物件導向

類 class class animal sat animal為父類,dog為子類 使用繼承後,子類將會擁有父類所有的方法和屬性 通過繼承可以將多個類中共有的 寫在乙個父類中 如果在子類中新增了父類相同的方法,則會覆蓋 方法重寫 使用dog類繼承animal類 class dogextends an...

TypeScript學習(三)ts中的類

1.es5的類 1.1建構函式 只有屬性 function person var p newperson console.log p.name 張三屬性和方法 function person var p newperson p.run 1.2在原型鏈上增加屬性和方法person.prototype....

TypeScript類 介面 繼承

class point tostring let p new point 1,2 在ts裡,成員都預設為public。被public修飾的屬性,我們在類的內外都可以自由訪問到這些被定義的屬性。class animal new animal cat name cat 當成員被標記成private時,它...