【发布时间】:2019-01-29 04:57:21
【问题描述】:
使用 MS VisualCode 编辑器,我正在尝试进行一些类型检查。我想继续使用 Javascript,但从类型检查接口和数据结构中获得一些好处。
根据 vscode 文档,我可以创建一个 globals.d.ts 类型定义文件,我很喜欢:
interface QueryObj {
input: string;
query: string;
}
declare namespace TrainingModel {
function preprocessQuery(qo: QueryObj): QueryObj
}
然后我尝试声明一个使用这个 QueryObj 类型的函数。
checkOneData (queryObj) {
queryObj.foo = 1
所以我希望得到一个警告,说不应该使用queryObj.foo...但是什么都没有。
我还尝试添加一个 JSDoc 来描述参数
/**
* @param {QueryObj} queryObj
* @returns {Promise<any>}
*/
async checkOneData (queryObj) {
但这行* @param {QueryObj} queryObj 只是给了我错误cannot find name 'QueryObj'
我知道.d.ts 文件正在处理中,因为当它不完整时我会收到错误。
所以除了字符串/数字等基本参数类型之外,VSCode 是否可以以这种方式用于检查用户定义的数据结构,就像我们在 TypeScript 中使用接口一样?
参考:
https://code.visualstudio.com/docs/languages/javascript https://github.com/Microsoft/TypeScript/wiki/Type-Checking-JavaScript-Files https://www.typescriptlang.org/docs/handbook/declaration-files/by-example.html
【问题讨论】:
-
是的,是的。 JavaScript 是有效的打字稿。
-
根据上述内容,它不会像我想要的那样做。我想要的不仅仅是内置类型检查,我想要使用接口和结构。
-
根据上述内容,它不会像我想要的那样做。我想要的不仅仅是内置类型检查,我想要使用接口和结构。
标签: javascript typescript interface visual-studio-code typechecking