我正在为 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
最佳答案
不管你是否将它用于require
,const
意味着变量不能被重新赋值,而let
允许它被重新分配。 let
和 const
都是 block 作用域,而 var
是函数作用域。通常,大多数使用兼容 ES6 的东西( Node v6 大部分兼容 ES6)的人建议更喜欢 const
和 let
并且从不(或很少)使用 var
。这往往会提供大多数人期望的作用域行为,特别是如果来自另一种语言。
对于您的 require
语句,我想不出您想要重新分配这些变量的情况,因此 const
应该是首选方法。
关于node.js - 在 node.js 中将模块导入为 const 和 var 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40499345/