Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在一系列声明中使用,(逗号)而不是适当的变量定义(如const、var或let)是一种好的JS实践吗?_Javascript_Variables_Ecmascript 6 - Fatal编程技术网

Javascript 在一系列声明中使用,(逗号)而不是适当的变量定义(如const、var或let)是一种好的JS实践吗?

Javascript 在一系列声明中使用,(逗号)而不是适当的变量定义(如const、var或let)是一种好的JS实践吗?,javascript,variables,ecmascript-6,Javascript,Variables,Ecmascript 6,我最近发现,我可以使用,(逗号),而不是像const num1那样正确地声明变量,当处于链模式时,我想知道的是使用它是否有任何副作用 标准方式=> const num1 = 1 const num2 = 2 const num3 = 3 方法=> const num1 = 1 , num2 = 2 , num3 = 3 !!控制台显示它们都没有语法错误 实际上没有什么区别,只要您知道逗号语法始终保持变量的类型(块作用域、常量)不变。因此: const num1 = 1; const num2

我最近发现,我可以使用
(逗号),而不是像
const num1
那样正确地声明变量,当处于链模式时,我想知道的是使用它是否有任何副作用

标准方式=>

const num1 = 1
const num2 = 2
const num3 = 3
方法=>

const num1 = 1
, num2 = 2
, num3 = 3

!!控制台显示它们都没有语法错误

实际上没有什么区别,只要您知道逗号语法始终保持变量的类型(块作用域、常量)不变。因此:

const num1 = 1;
const num2 = 2;
const num3 = 3;
与此完全相同:

const num1 = 1,
  num2 = 2,
  num3 = 3;

这是完全相同的

您可以引用声明和初始化两个变量


请注意,第二个示例相当于

const num1 = 1, num2 = 2, num3 = 3;
这表明您只是在声明一个用逗号分隔的变量列表。传统上,它的格式为

const num1 = 1,
      num2 = 2,
      num3 = 3;

请注意,此处逗号位于行的末尾。你只是碰巧发现这是同一事物的一种稍微不同的形式。

它们之间没有区别。所有声明语句都允许您声明多个变量,并用逗号分隔它们。它只是在多行上格式化。通常在这样格式化时,逗号位于每行的末尾而不是开头。