Node.js 中的声明 var 是啥?

Posted

技术标签:

【中文标题】Node.js 中的声明 var 是啥?【英文标题】:What is declare var in Node.js?Node.js 中的声明 var 是什么? 【发布时间】:2018-09-19 14:44:54 【问题描述】:

在这个nodejs代码中,

declare var process: NodeJS.Process;
declare var global: NodeJS.Global;
declare var console: Console; 
declare var __filename: string;
declare var __dirname: string;

那个……

'declare var' 和 'var' 有什么区别?

当我在谷歌上搜索时,我得到了运行时这个词。

wiki 说运行时是计算机程序运行时的操作....

但我无法理解。

第1行,“process”后面的“:”是什么意思,然后是“NodeJS.Process”?

这是否意味着“进程”等于“NodeJS.Process”?

还有第4行,“__filename”后面的“:”和“string”是什么意思?

这是否意味着“__filename”等于“字符串”?

谢谢。

【问题讨论】:

in this nodejs code 你到底在看什么?有链接吗? 您是否在使用某种预处理器来进行静态类型检查?这看起来更像 TypeScript。 在TypeScript中,:之后的部分声明了变量type 到 Jaromanda X。有 github.com/IoTKETI/Mobius// 我下载这个并打开 VS207。在文件 mobius.js 的第 22 行,有“global”。所以我使用定义选择然后我可以看到那些代码。 来自洋葱...什么? 【参考方案1】:

使用时:

var process: NodeJS.Process;

您正在创建一个名为 process 的变量(未定义任何值)并告诉 TypeScript 编译器强制使用 NodeJS.Process 类型进行赋值。

当你添加declare:

declare var process: NodeJS.Process;

您告诉 TypeScript 编译器已经有一个名为 process 的变量,其类型为 NodeJS.Process。当您有编译器不知道的源引入的变量时,这很有用。

见Declaration Files in the TypeScript handbook。

【讨论】:

以上是关于Node.js 中的声明 var 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Node.js 通常使用 'var' 而不是 'let'?

Node.js

从 Node.js 中的模块导出函数的语法是啥?

node.js 中的 Haste 模块映射是啥?

node.js中的+new Date语法是啥[重复]

在 node.js 中的数组内查找字符串的最佳方法是啥?