gpt4 book ai didi

javascript - Visual Studio Code - JavaScript 文件的类型提示

转载 作者:数据小太阳 更新时间:2023-10-29 05:28:33 28 4
gpt4 key购买 nike

是否可以将类型信息提供给 JavaScript 文件的 VS Code linter?我有一个 JavaScript 文件和一个 .d.ts 文件,我想使用此 .d.ts 文件解析 JavaScript 文件以查找类型错误。那可能吗?如果不能直接在 VS Code 中使用,是否可以使用其他工具?

添加示例:

// file.d.ts
declare function f(x: number): number;

// file.js
function f(x) { return x * 2; }
f('Not a number'); // This should be an error

最佳答案

一般来说,您需要创建一个 jsconfig.json file在项目的根目录下,内容如下:

{
"compilerOptions": {},
"exclude": [
"node_modules"
]
}

此文件告诉 VS Code 将所有 js 文件(和 d.ts 文件)视为同一项目的一部分。

然而,TypeScript 似乎没有将 d.ts 文件中 f 的类型声明与 js 文件中 f 的实际声明合并。如果注释掉该实现,您将获得 f 的正确类型和预期的错误:

// @ts-check

//function f(x) { return x * 2; }

f('Not a number'); // This is an error

但除此之外,f 的类型为 function(x: any): number

这对我来说似乎出乎意料,我已经打开了一个新问题来跟踪这个:https://github.com/Microsoft/TypeScript/issues


此外,如果您只使用 JavaScript,您始终可以使用 jsdoc 注释来添加类型信息:

// @ts-check

/**
* @param {number} x
* @return {number}
*/
function f(x) { return x * 2; }

f('Not a number'); // This is an error

关于javascript - Visual Studio Code - JavaScript 文件的类型提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45944663/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com