TypeScript中的可選屬性和唯讀屬性

2021-09-02 21:25:32 字數 695 閱讀 8143

介面裡的屬性不全都是必需的。 有些是只在某些條件下存在,或者根本不存在。 例如給函式傳入的引數物件中只有部分屬性賦值了。帶有可選屬性的介面與普通的介面定義差不多,只是在可選屬性名字定義的後面加乙個?符號。如下所示:

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