Angular 角度数据绑定

Angular 角度数据绑定,angular,typescript,Angular,Typescript,所以我一直在学习angular,我遇到了一个问题,在我的代码编辑器中出现了一个错误,但在浏览器中没有 我已将一个属性设置为字符串。但是,在构造函数中,我已将属性更新为一个数字 我在vsCode中得到一个错误,但它在浏览器中运行得很好。我已经把代码贴在下面了 export class SandboxComponent{ name:string = 'John Doe'; constructor(){ this.name = 34; } } 我在VSC

所以我一直在学习angular,我遇到了一个问题,在我的代码编辑器中出现了一个错误,但在浏览器中没有

我已将一个属性设置为字符串。但是,在构造函数中,我已将属性更新为一个数字

我在vsCode中得到一个错误,但它在浏览器中运行得很好。我已经把代码贴在下面了

export class SandboxComponent{
    name:string = 'John Doe';

    constructor(){
        this.name = 34;
    }
}


我在VSCode中得到的错误是类型34不能分配给字符串,这是真的。浏览器应该做同样的事情,但它会将其转换为字符串,然后显示它


为什么我在浏览器中没有得到一个错误,但在VSCode中得到了一个错误?

您将名称变量定义为字符串,但稍后将为其分配一个数字。这在TypeScript中是不合法的。要解决此问题,您可以执行以下操作:

this.name= new Number(34).toString();

即使TypeScript代码包含错误(使用不同类型的值重新定义变量),transpiler仍会执行transpilation,返回JavaScript代码


JavaScript代码然后由浏览器运行。JavaScript是一种动态类型语言,允许使用不同类型的值重新定义变量,这就是为什么浏览器中不会出现错误。

问题是什么?对不起,我尝试了尽可能多的证据。问题是为什么我在浏览器中没有得到一个错误,但我在VSCode中得到了一个错误?您得到的错误是什么?提供屏幕部分的屏幕截图并不能提供足够的信息……typescript是用javascript编译的,javascript是一种动态类型语言,那么您将有一个typescript编译错误,但在Browser中不会有问题我在VSCode中得到的错误说类型34不能分配给字符串,这是真的。浏览器应该做同样的事情,但它会将其转换为字符串,然后显示出来。OP甚至没有问过一个问题,您如何提供任何类型的答案D