介面裡的屬性不全都是必需的。 有些是只在某些條件下存在,或者根本不存在。 例如給函式傳入的引數物件中只有部分屬性賦值了。帶有可選屬性的介面與普通的介面定義差不多,只是在可選屬性名字定義的後面加乙個?
符號。如下所示:
inte***ce person
上面的例子中person物件名字(name)是不可選的,age和gender是可選的。
顧名思義就是這個屬性是不可寫的,物件屬性只能在物件剛剛建立的時候修改其值。 你可以在屬性名前用readonly
來指定唯讀屬性,如下所示:
inte***ce user
上面的例子說明,當完成user物件的初始化後loginname就不可以修改了。
最簡單判斷該用readonly
還是const
的方法是看要把它做為變數使用還是做為乙個屬性。 做為變數使用的話用const
,若做為屬性則使用readonly
。
閱讀原文
TypeScript可選引數(做個timer)
最近在用typescript做乙個新專案,需要移植一批老的js 之前最喜歡做這種移植,直接複製黏貼不知道多爽。直到遇到typescript。乙個簡單的js function const timer start 用的時候只需要 const start timer do something const ...
typeScript中的繼承
ts中類的定義 class person run void let p new person 李哥 p.run 李哥 class person getname string setname name string void let p new person 李哥 alert p.getname 李哥...
TypeScript中的介面
介紹 typescript的核心原則之一是對值所具有的結構進行型別檢查。它有時被稱做 鴨式辨型法 或 結構性子型別化 在typescript裡,介面的作用就是為這些型別命名和為你的 或第三方 定義契約。通過關鍵字inte ce來定義介面 inte ce list inte ce result fun...