TypeScript 介面 可選屬性
有時介面所規定的屬性不是必須的,或者在滿足一定條件的時候才需要。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼interface Itest { webName: string; age?:number; }
上面程式碼規定age是可選的,在屬性名稱後面新增一個問號(?)。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼interface Itest { webName: string; age?:number; } function func(obj: Itest) { console.log(obj.webName); } let myObj = { webName:"螞蟻部落", address:"青島市南區" }; func(myObj);
由於age是可選屬性,所以傳遞的引數可以沒有age屬性。
[typescript] 純文字檢視 複製程式碼interface Itest { webName: string; age?:number; } function func(obj: Itest) { console.log(obj.webName); } let myObj = { webName:"螞蟻部落", age: "ts", address:"青島市南區" }; func(myObj);
即便age是可選屬性,一旦傳遞了age屬性,那麼它也要接受約束。
[typescript] 純文字檢視 複製程式碼interface Itest { webName: string; age?:number; } function func(obj: Itest) { console.log(obj.webName); } func({ webName:"螞蟻部落", age: "ts", address:"青島市南區" });
引數以直接量方式傳遞,那麼不能具有額外的屬性,在TypeScript 介面簡介一文已經介紹。
strictNullChecks:true的影響:
如果在tsconfig.json檔案中配置"strictNullChecks":true,那麼可選屬性會被自動地加上| undefined。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼interface Itest { webName: string; age?:number; } function func(obj: Itest) { console.log(obj.webName); } let myObj = { webName:"螞蟻部落", age: 5, address:"青島市南區" }; func(myObj);
程式碼執行效果截圖如下:
特別說明:此語法並不僅作用域介面可選屬性。
相關文章
- TypeScript 介面 只讀屬性TypeScript
- 所有屬性都是可選的BusinessExceptionException
- TypeScript 類靜態屬性TypeScript
- TypeScript 可索引型別介面TypeScript索引型別
- JavaScript可摺疊屬性導航選單JavaScript
- JQuery選擇器——可見性篩選選擇器和屬性篩選選擇器jQuery
- TypeScript 學習筆記 — 自定義型別:部分屬性可選,反選 key,求物件交差並補集等(十三)TypeScript筆記型別物件
- css屬性的可繼承性CSS繼承
- Android介面基本屬性Android
- [CSS]屬性選擇器CSS
- jquery屬性選擇器jQuery
- TypeScript 介面TypeScript
- css可繼承屬性和非繼承屬性一覽CSS繼承
- Oracle Data Guard LOG_ARCHIVE_DEST_n引數的可選屬性OracleHive
- vue3計算屬性的可寫屬性 set 與 getVue
- StartPosition屬性有如下選項
- CSS選擇器(5)——屬性選擇器CSS
- TypeScript--介面TypeScript
- TypeScript(4)介面TypeScript
- win10快捷方式點選彈出屬性介面怎麼解決Win10
- javascript哪些屬性是可列舉的JavaScript
- js可列舉屬性的遍歷JS
- Android property屬性許可權新增Android
- typescript的lambads解決this關鍵字找不到屬性TypeScript
- CSS筆記——屬性選擇器CSS筆記
- 淺談TypeScript對業務可維護性的影響TypeScript
- jQuery選擇器——屬性過濾選擇器jQuery
- TypeScript 函式可選引數和預設引數TypeScript函式
- TypeScript中的介面TypeScript
- TypeScript 函式介面TypeScript函式
- TypeScript 介面繼承TypeScript繼承
- 如何在TypeScript程式碼裡獲得HTML元素的css屬性TypeScriptHTMLCSS
- Android開商品屬性篩選與商品篩選Android
- css3 選擇器:屬性選擇器(五)CSSS3
- 精讀《使用 CSS 屬性選擇器》CSS
- ArcPy批量選擇指定屬性的要素
- jQuery type屬性值篩選input元素jQuery
- 屬性動畫跳轉展示資料(可切換可搜尋)動畫