在 VSCode 中,如果我写这个 JS 文件:
/** @type {number} */
let x = 10;
/** @type {string} */
let y = x;
没有什么是红色下划线的,工具提示y
只是给出了let y: string
。那不是我想要的!我希望 VSCode 向我抛出错误,就像在 TS 文件中一样:
let x: number = 10;
let y: string = x;
在上面的文件中,y
有红色下划线,悬停在它上面时会出现工具提示TS2332: Type 'number' is not assignable to type 'string'
我怎样才能做到这一点?我应该调整 VSCode 设置吗?我应该使用特定的 ESLint 还是 JSHint 特性?
有一个 VSCode 设置:
Javascript > Implicit project config > Check JS
已选中该选项有两种不同的处理方式,第一种是@nino-filiu 说的
所以它会默认启用。这需要团队的其他成员进行相同的 IDE 配置(以防您不是单独工作),并且可以通过
// @ts-nocheck
在特定文件的顶部添加来在文件级别进行转义。第二个只是
// @ts-check
在你的文件的顶部添加,所以这个特定的文件将从现在开始默认检查并且不能转义,除非你将它更改为// @ts-nocheck
或删除此行。