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時,它...