gpt4 book ai didi

node.js - 在 node.js 中将模块导入为 const 和 var 的区别

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:15 25 4
gpt4 key购买 nike

我正在为 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

最佳答案

不管你是否将它用于requireconst 意味着变量不能被重新赋值,而let 允许它被重新分配。 letconst 都是 block 作用域,而 var 是函数作用域。通常,大多数使用兼容 ES6 的东西( Node v6 大部分兼容 ES6)的人建议更喜欢 constlet 并且从不(或很少)使用 var。这往往会提供大多数人期望的作用域行为,特别是如果来自另一种语言。

对于您的 require 语句,我想不出您想要重新分配这些变量的情况,因此 const 应该是首选方法。

关于node.js - 在 node.js 中将模块导入为 const 和 var 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40499345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com