潜在的bug,潜在的功能,取决于你如何看待它:)
在一个JavaScript文件中,使用allowJs,所有的有效JavaScript都应该对TypeScript编译器有效吗?我发现其他一些重复标识符问题已经被提出来了。不过我觉得这并不是完全相同的事情。
TypeScript版本: 2.2.3
代码
这是技术上有效的JS代码。我自己不会这么做,但它发生在大型代码库中。
var amount = amount();
function amount() {
return 123;
}
它在amount
符号上导致了重复标识符错误。
我绝对可以看到这应该是TypeScript应该阻止的事情,但由于它是一个.js文件,所以我有点犹豫不决。
3条答案
按热度按时间yizd12fk1#
这是一个不推荐的模式,主要原因是类型的变化方式相当直观。
你总是可以使用
// @ts-ignore
注解来避免报告错误。fdx2calv2#
我完全同意你的观点,不推荐这样做。我之前没有意识到可以使用那个评论,所以感谢你提出来。
我的观点是,在逐步将TypeScript引入现有代码库的过程中,这确实是一个惊喜,因为我之前使用的是allowJs。不过,TypeScript让我们知道我们应该避免这样做,这很好。
3zwtqj6y3#
鉴于这个变化并不简单,我希望得到更多用户对此的反馈。