TypeScript中的聯合型別

2021-10-03 04:33:03 字數 1490 閱讀 1909

1、聯合型別表示取值可以為多種型別的一種。

2、如果定義的時候沒有賦值,不管之後有沒有賦值,都會被推斷成any型別而完全不被型別檢查。

// 聯合型別

var type:string | number | boolean = 『1』

type = 12;

type = true;

3、只能訪問此聯合型別的所有型別裡共有的屬性和方法。

var type:string | number = 『1』

type = 『12』

type = 12;

console.log(type.length); //型別「number」上不存在屬性「length」,string有length這個方法,number沒有這個方法所有就報錯

console.log(type.tostring()); //都有tostring()方法所有就不報錯

typescript中的物件型別-介面

1、可描述類的一部分抽象行為,也可描述物件的結構形狀

2、介面一般首字母大寫,有的程式語言中會建議介面的名稱加上 i 字首

3、賦值的時候,變數的形狀必須和介面的形狀保持一致

// 1:定義物件型別並賦值,給物件型別賦值只能賦已有的屬性和型別,不可新增和修改

inte***ce istate

var obj:istate;

obj=

// 2:賦值物件不明確,某屬性不確定有沒有

inte***ce istate2

var obj2:istate2;

// obj2 =

// 或

obj2 =

console.log(obj2)

// 3:屬性名和型別都不確定

inte***ce istate3

var obj3:istate3;

obj3=

4、介面中可定義可選屬性、唯讀屬性、任意屬性

// 4.唯讀屬性

inte***ce istate4

var obj4:istate4=

// 加readony後再不可能給該屬性賦值

// obj4.age=14

typescript中的陣列型別

1、可採用型別+方括號表示法

var arr:string = [『1』,『2』,『3』] // 字串陣列

var arr2:number = [1,2,3] // number陣列

var arr3:any = [1,2,『3』] //任意型別陣列

2、可採用陣列泛型表示法

var arr4:array = [『2』,『4』,『5』]

var arr5:array = [1,2,3]

var arr6:array = [1,2,3,『4』,『5』]

3、可採用介面表示法

inte***ce iarray

var iarray:iarray =

var arrtype5:array=

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 交叉型別和聯合型別

1.1 交叉型別 inte ce doninte ce inte ce catinte ce 這裡的pet將兩個型別合併,所以pet必須保護兩個型別所定義的方法 let pet doninte ce catinte ce jump function 1.2 聯合型別 let a number str...

TypeScript類 介面 繼承

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