Javascript 我试着了解字体脚本。但现在显示类型错误
如果将鼠标指针悬停在VisualStudio代码中的类型断言语句上,它将显示 但是终端显示控制台结果类型字符串Javascript 我试着了解字体脚本。但现在显示类型错误,javascript,typescript,Javascript,Typescript,如果将鼠标指针悬停在VisualStudio代码中的类型断言语句上,它将显示 但是终端显示控制台结果类型字符串 VS代码显示类型错误。并且您的代码可能在运行时失败(因为类型不匹配)。这就是为什么类型脚本在编译代码时显示错误 但一旦编译了typescript项目,整个文件夹就会作为js文件转换为dist/index(该文件包含js代码而不是typescript)。您只运行dist/index文件夹,而不是typescript文件夹Java脚本松散耦合。所以js忽略类型错误并给出输出 如果在项目中
VS代码显示类型错误。并且您的代码可能在运行时失败(因为类型不匹配)。这就是为什么类型脚本在编译代码时显示错误 但一旦编译了typescript项目,整个文件夹就会作为js文件转换为dist/index(该文件包含js代码而不是typescript)。您只运行dist/index文件夹,而不是typescript文件夹Java脚本松散耦合。所以js忽略类型错误并给出输出 如果在项目中使用了typescript,则应解决类型错误。否则,在项目中使用typescript没有意义
(注意:如果您使用的是typescript,您将在编译时识别最大运行时错误。)typescript是JavaScript的超集,与JavaScript不同,它是强类型的 然而,只要您的代码在语法上对javascript有效,它仍然会生成javascript代码,尽管它有错误(在您的情况下就是这样),但它会在编译时在终端中给您带来错误,而且一些文本编辑器(如vs代码)在开发时也会给您带来错误,就像在第2行的屏幕截图中一样 在vs code中,当您将鼠标悬停在变量
str2
上时,它会显示type is number,因为您已将str2
的类型显式定义为number,但在声明时将字符串赋给str2
,因此您将得到一个由编辑器标记的错误。
但是,当您运行编译后的JS时,
str
的值被复制到str2
中,这在JS中完全有效,str2
的类型返回字符串,因为它包含字符串值。您将其声明为数字,但不将其设置为数字。此外,这会引发一个错误,您可以在屏幕截图中看到,VS代码在第2行显示错误,您将字符串分配给类型为number的变量,但是工具提示将str2的类型显示为number,因为您已将str2的类型定义为number。请勿发布代码、数据、错误消息的图像,等-在问题中复制或键入文本。