为什么TypeScript支持WScript?如何利用其智能提示编写VBScript?
问题解答
认知误区澄清
- TypeScript 从设计上就是 JavaScript 的超集,仅支持编译输出 JS 格式的代码,天生不支持 VBScript 语法解析和输出,你要求它编译生成
.vbs文件本身就不符合它的定位。 - TypeScript 能提供 WScript 相关的智能提示,是因为对应的类型定义适配的是 JScript 环境——JScript 是微软推出的 ECMAScript 实现,语法完全兼容 JavaScript,和 VBScript 是完全独立的两种脚本语言,WScript 宿主本身就原生支持 JScript 格式的脚本执行,和 JS 并非没有关联。
解决方案
你完全没必要绕 TypeScript 这一圈来获得 WScript 智能提示,两种可选方案可以直接满足需求:
- 直接在 VS Code 安装 VBScript 语言支持扩展,安装后直接编辑
.vbs文件就能获得 WScript、FileSystemObject 等常用宿主对象的智能补全、语法高亮和校验能力,不需要先写 TS 再复制内容。 - 如果你习惯用 TypeScript 语法写脚本,完全不用转 VBS:将
tsc编译生成的.js文件,直接用 Windows 自带的cscript或wscript命令运行即可,比如执行cscript myScript.js就能正常调用WScript.Echo等API,不会报错——你之前用 Node.js 运行才会抛出 WScript 未定义的错误,因为 Node.js 环境根本没有这个全局宿主对象。
内容的提问来源于stack exchange,提问作者Zano
相关产品推荐
相关产品推荐

