vscode 的 javaScript 类型检查基于 typescript 语言服务实时分析,依赖 jsconfig.json 中 checkJs:true、JSDoc 注释、.d.ts 声明文件及正确路径配置,无需插件或 tsc 运行。

VSCode 自带的 javascript 类型检查不是靠 TypeScript 编译器(tsc)运行时检查,而是基于 TSC 的语言服务 在编辑器内实时分析 JS 文件,配合 JSDoc、类型声明文件(.d.ts)和隐式推导来提供类型提示、错误标记和智能补全。
启用 JS 类型检查
默认开启,但需满足几个前提:
- 项目根目录或任意父级目录存在
jsconfig.json(纯 JS 项目)或tsconfig.json(TS/JS 混合项目) -
jsconfig.json中至少包含{"compilerOptions": {"checkJs": true}}(推荐显式开启) - 文件后缀是
.js或.jsx,且未被exclude或files配置排除
用 JSDoc 补齐类型信息
VSCode 的 JS 类型检查高度依赖 JSDoc 注释来补充缺失的类型上下文。常见写法:
/** @type {String[]} */ const arr = [];/** @param {number} x @param {string} y @returns {Boolean} */ function foo(x, y) { ... }-
/** @typedef {{ name: string; age: number }} Person */+ 后续使用/** @type {Person} */
注意:JSDoc 类型语法基本兼容 TypeScript,但不支持泛型别名、类型断言等高级 TS 特性。
立即学习“Java免费学习笔记(深入)”;
系统特点: 商品多级分类检索、搜索,支持同一商品多重分类,自由设置显示式样 自由设置会员类型,自由设置权限项目,自由分配每种会员类型和每个会员的权限 灵活的商品定价,最多12级价格自由分配给各种会员类型或会员,也可针对单会员单商品特殊定价 强大的会员管理、帐户管理、订单管理功能和一系列帐务查询统计功能 灵活的会员积分系统,自由设置每个积分事件的积分计算方法 灵活的网站内容发布、管理系统,每个栏目可
2 利用类型声明文件(.d.ts)
第三方库若无内建类型,可通过安装 @types/xxx 提供定义;自己写的 JS 模块也可配一个同名 .d.ts 文件(如 utils.js 对应 utils.d.ts),VSCode 会自动识别并加载。
例如:myLib.d.ts 中写 export function greet(name: string): void;,在 myLib.js 的导入处就能获得准确提示。
常见问题与建议
类型报错却没红线?可能原因:
- 没建
jsconfig.json,或其中checkJs为false或缺失 - 文件路径被
exclude(如"**/node_modules/**"是默认值,但误加了"src/**"就会失效) - 用了 ES 模块语法(
import/export)但jsconfig.json里没设"module": "esnext",导致模块解析失败 - 类型错误被
// @ts-ignore或// @ts-nocheck注释压制(这些注释在 JS 文件中同样生效)
基本上就这些。不需要装插件、不用跑 tsc,开箱即用,但得搭好配置、善用 JSDoc——轻量,但不随意。