最近 Vue3 要用 TypeScript 重写,一时之间我感到焦虑。虽然快学不动了,但是还是想把平时的 JavaScript 插件,Vue 页面之类的转移到 TypeScript 架构上。
之前一直久仰大名,说 TS 是 JS 的超集,我差点就信了,事实证明,他们不是完全语言兼容的!不信看下面这段 JS 的代码:
var saveRef = setTimeout(()=>{
var value = {
username: 'test123',
password: 1234
};
$.ajax({
url: "/opread/get_auth",
data: JSON.stringify(value),
....
})
},3000)
在 tsc 下,我尝试将这段代码在 ts 下运行,并且成功发出一个 ajax。
结果 tsc 提示我 saveRef,value 都需要定义:any,甚至函数也要定义返回值。虽然我知道这是 ts 的特点,但是这完全不符合他说的超集。我的旧代码有 N 多这种无定义的情况,难道我都需要一个个去改?太费劲了,查很多配置都没提及,所以发帖想问一下各位 V 友如何解决升级的问题