物件的型別–介面(介面在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時,它...