Node.js 双下划线(__)在变量前有什么作用
在本文中,我们将看到在Node.js中,变量前的双下划线(__)代表什么。
NodeJS 主要用于非阻塞、事件驱动的服务器,因为它是单线程的。它用于传统网站和后端API服务,但设计时考虑了实时、推动驱动的架构。
先决条件: 您可以从这里了解如何安装Nodejs。
双下划线(__) 在变量前是一种约定。它用于 全局变量 (下面的变量看起来似乎是全局的,但实际上是每个模块的局部变量),而 下划线(_) 用于定义 私有变量 。
在Node.js中,只有两个变量(称为全局对象)有双下划线。
__dirname: 在Node脚本中,__dirname返回当前JavaScript文件所在文件夹的路径。__filename: 在Node.js中,__filename返回执行的代码的文件名。它给出了代码文件的绝对路径。
1. 下划线(_)- 私有变量
以下是私有变量的示例。
(function () {
// Define two variable
const _b = 456;
const _a = 123;
console.log("a =", _a); // => 123
console.log("b =", _b);
})();
输出:
a = 123
b = 456
2. 双下划线 (__) – 全局变量.
下面是一个变量的示例
__dirname 是一个环境变量,它告诉您包含当前执行文件的目录的绝对路径。
语法:
console.log(__dirname)
返回值: 它返回当前模块的绝对目录名称。
示例1: 创建一个JavaScript文件app.js,并写下以下代码。
// Node.js code to demonstrate the absolute
// file name of the current Module.
console.log("Directory Name of the current file is: ",
__dirname);
输出:
C:\Users\Pallavi\Desktop\NODEJS PROJECTS\NodeJS-Projects\Express_Session
在Node.js中, __filename 返回执行的代码文件的文件名。它提供了代码文件的绝对路径。下面的方法介绍了如何在NodeJS项目中使用__filename。
语法:
console.log(__filename)
返回值: 返回当前模块的绝对文件名。
示例2: 创建一个JavaScript文件app.js,并编写以下代码。
// Node.js code to demonstrate the absolute
// file name of the current Module.
console.log("Filename of the current file is: ",
__filename);
输出:
C:\Users\Pallavi\Desktop\NODEJS PROJECTS\NodeJS-Projects\Express_Session\app.js
参考: https://nodejs.org/api/globals.html#globals_filename
极客教程