在 node.js 中将模块作为 const 和 var 导入之间的区别
Difference between importing module as const and var in node.js
我正在为 node.js
使用 mqtt 客户端
在这个linkhttps://blog.risingstack.com/getting-started-with-nodejs-and-mqtt/上,mqtt模块是这样导入的;
const mqtt = require('mqtt')
const client = mqtt.connect('mqtt://broker.hivemq.com')
我导入模块的方式是这样的;
var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://broker.hivemq.com')
var 和 const 这两种方式有什么区别?如果我以这种方式导入会怎样;
let mqtt = require('mqtt')
let client = mqtt.connect('mqtt://broker.hivemq.com')
重要吗?哪种编程方式才是正确的?
我正在使用 node.js v6
无论您是否将其用于 require
,const
表示无法重新分配变量,而 let
允许重新分配。 let
和 const
都是块作用域,而 var
是函数作用域。通常,大多数使用兼容 ES6 的东西(节点 v6 大部分兼容 ES6)的人建议更喜欢 const
和 let
并且从不(或很少)使用 var
。这往往会提供大多数人期望的作用域行为,特别是如果来自另一种语言。
对于您的 require
语句,我想不出您想要重新分配这些变量的情况,因此 const
应该是首选方法。
我正在为 node.js
使用 mqtt 客户端在这个linkhttps://blog.risingstack.com/getting-started-with-nodejs-and-mqtt/上,mqtt模块是这样导入的;
const mqtt = require('mqtt')
const client = mqtt.connect('mqtt://broker.hivemq.com')
我导入模块的方式是这样的;
var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://broker.hivemq.com')
var 和 const 这两种方式有什么区别?如果我以这种方式导入会怎样;
let mqtt = require('mqtt')
let client = mqtt.connect('mqtt://broker.hivemq.com')
重要吗?哪种编程方式才是正确的?
我正在使用 node.js v6
无论您是否将其用于 require
,const
表示无法重新分配变量,而 let
允许重新分配。 let
和 const
都是块作用域,而 var
是函数作用域。通常,大多数使用兼容 ES6 的东西(节点 v6 大部分兼容 ES6)的人建议更喜欢 const
和 let
并且从不(或很少)使用 var
。这往往会提供大多数人期望的作用域行为,特别是如果来自另一种语言。
对于您的 require
语句,我想不出您想要重新分配这些变量的情况,因此 const
应该是首选方法。