我正在为node.js使用mqtt客户端
在此链接https://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
答案 0 :(得分:11)
无论您是否将其用于require
,const
表示该变量无法重新分配,而let
则允许重新分配该变量。 let
和const
都是块作用域,而var
是函数作用域。通常,大多数使用ES6兼容的东西(哪个节点v6主要与ES6兼容)建议更喜欢const
和let
,而不是(或很少)使用var
。这倾向于提供大多数人期望的范围行为,特别是如果来自另一种语言。
对于require
语句,我无法想到您希望重新分配这些变量的情况,因此const
应该是首选方法。