TypeScript 允许使用JavaScript并且标识符重复,

mctunoxg  于 4个月前  发布在  TypeScript
关注(0)|答案(3)|浏览(111)

潜在的bug,潜在的功能,取决于你如何看待它:)
在一个JavaScript文件中,使用allowJs,所有的有效JavaScript都应该对TypeScript编译器有效吗?我发现其他一些重复标识符问题已经被提出来了。不过我觉得这并不是完全相同的事情。

TypeScript版本: 2.2.3
代码

这是技术上有效的JS代码。我自己不会这么做,但它发生在大型代码库中。

var amount = amount();
function amount() {
  return 123;
}

它在amount符号上导致了重复标识符错误。
我绝对可以看到这应该是TypeScript应该阻止的事情,但由于它是一个.js文件,所以我有点犹豫不决。

yizd12fk

yizd12fk1#

这是一个不推荐的模式,主要原因是类型的变化方式相当直观。
你总是可以使用 // @ts-ignore 注解来避免报告错误。

fdx2calv

fdx2calv2#

我完全同意你的观点,不推荐这样做。我之前没有意识到可以使用那个评论,所以感谢你提出来。

我的观点是,在逐步将TypeScript引入现有代码库的过程中,这确实是一个惊喜,因为我之前使用的是allowJs。不过,TypeScript让我们知道我们应该避免这样做,这很好。

3zwtqj6y

3zwtqj6y3#

鉴于这个变化并不简单,我希望得到更多用户对此的反馈。

相关问题