一、簡介
1.類(class)是面向對象編程的基本構件,封裝了屬性和方法
1.1、屬性的類型:類的屬性可以在頂層聲明,也可以在構造方法內部聲明,如果不給出類型;TypeScript 會認為x
和y
的類型都是any;
如果聲明時給出初值,可以不寫類型,TypeScript 會自行推斷屬性的類型;
class Point {x:number;y:number;
}
1.1.1.TypeScript 有一個配置項strictPropertyInitialization
,只要打開(默認是打開的),就會檢查屬性是否設置了初值,如果沒有就報錯
// 打開 strictPropertyInitialization
class Point {x: number; // 報錯y: number; // 報錯
}// 如果類的頂層屬性不賦值,就會報錯。如果不希望出現報錯,可以使用非空斷言。
class Point {x!: number;y!: number;
}
// 屬性x和y沒有初值,但是屬性名后面添加了感嘆號,表示這兩個屬性肯定不會為空,所以TypeScript
//就不報錯了