use*_*486 5 declaration require node.js node-modules
我正在为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')
Run Code Online (Sandbox Code Playgroud)
我进行模块导入的方式是这样的;
var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://broker.hivemq.com')
Run Code Online (Sandbox Code Playgroud)
两种方式有什么区别,var和const?如果我这样导入怎么办?
let mqtt = require('mqtt')
let client = mqtt.connect('mqtt://broker.hivemq.com')
Run Code Online (Sandbox Code Playgroud)
有关系吗?哪种编程方式正确?
我正在使用node.js v6
Pau*_*aul 12
无论您是否使用它require,都const意味着无法重新分配变量,同时let允许重新分配变量.两个let和const是块作用域,而var是函数作用域.一般来讲,使用ES6兼容的东西(这点V6大多是ES6兼容)大多数人建议喜欢const和let从不(或很少)使用var.这倾向于提供大多数人期望的范围行为,特别是如果来自另一种语言.
对于你的require陈述,我想不出你想要重新分配这些变量的情况,所以const应该是首选的方法.