2016-11-09 4 views
2

Я использую клиент MQTT для Node.jsразница между импортом модуля как константы и вар в node.js

На этой ссылке 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

ответ

8

Независимо от того, используете ли вы его для require или нет, const означает, что переменная не может быть переназначен, в то время как let позволяет ему быть переназначены. Как let, так и const являются блочными областями, а var - это функция области. Как правило, большинство людей, использующих ES6-совместимые вещи (какой узел v6 в основном совместим с ES6) предлагают предпочесть const и let и никогда (или редко) использовать var. Это, как правило, обеспечивает поведение в области охвата, которое ожидают большинство людей, особенно если оно исходит с другого языка.

В случае ваших операторов require я не могу придумать случай, когда вы когда-либо захотите переназначить эти переменные, поэтому const должен быть предпочтительным.

+0

как использовать импорт, например: import chalk = require ('chalk'); – ramon22

+0

Я никогда не видел этот синтаксис до @ ramon22. Я видел только «импортный мел» из «мела». – Paul

Смежные вопросы