3 回答
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
它是 JavaScript 的嚴(yán)格語(yǔ)法超集,并為語(yǔ)言添加了可選的靜態(tài)類型
另一件需要注意的是,像非強(qiáng)類型的特性或類似的東西在 TypeScript 中不起作用,這種現(xiàn)象與它類似。
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
以下是TS解釋的流程。
所有屬性、方法都被初始化。
然后在實(shí)例化過程中,調(diào)用構(gòu)造函數(shù)并使用默認(rèn)值設(shè)置上述屬性。
在您的代碼中:
class Rectangle {
constructor(height:number, width:number) {
this.height = height; //error
this.width = width; //error
}
}
沒有提到任何屬性,因此您會(huì)收到錯(cuò)誤消息
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以這樣做,但是您當(dāng)然會(huì)與該語(yǔ)言的類型檢查功能作斗爭(zhēng)。
class Rectangle {
constructor(height:number, width:number) {
(this as any).height = height;
(this as any).width = width;
}
}
const rt = new Rectangle(100, 200);
console.log((rt as any).width);
也就是說,如果您轉(zhuǎn)換為 any,您可以像在純 JavaScript 中那樣做任何事情。
添加回答
舉報(bào)
