3 回答
TA贡献1869条经验 获得超4个赞
它是 JavaScript 的严格语法超集,并为语言添加了可选的静态类型
另一件需要注意的是,像非强类型的特性或类似的东西在 TypeScript 中不起作用,这种现象与它类似。
TA贡献2051条经验 获得超10个赞
以下是TS解释的流程。
所有属性、方法都被初始化。
然后在实例化过程中,调用构造函数并使用默认值设置上述属性。
在您的代码中:
class Rectangle {
constructor(height:number, width:number) {
this.height = height; //error
this.width = width; //error
}
}
没有提到任何属性,因此您会收到错误消息
TA贡献1798条经验 获得超7个赞
您可以这样做,但是您当然会与该语言的类型检查功能作斗争。
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);
也就是说,如果您转换为 any,您可以像在纯 JavaScript 中那样做任何事情。
添加回答
举报
