这是正确的语法:
let foo, bar;
这是不正确的
const foo, bar;
为什么?
有没有办法在一个地方声明一些常量,并在另一个地方定义它们?除了约束声明和定义
答案 0 :(得分:14)
因为必须初始化const声明。这将有效:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="button" style="height: 30px; width: 30px; background: blue"></div>
答案 1 :(得分:11)
普通变量(用var
或let
声明)可以声明没有值,因为您可以稍后分配它们:
let foo; // foo has value undefined
foo = 3; // foo has value 3
但是,您不能对常量执行相同的操作,因为在声明它们之后您无法更改它们的值:
const foo; // ...?
foo = 3; // this is not allowed because foo is constant
因此,您必须同时声明并为常量赋值。这个可以一次完成多个consts:
const foo = 3,
bar = 8; // this works fine, foo and bar are both constants
没有办法在一个地方宣布一个const并将其分配给另一个地方。您必须改为使用var
或let
。
答案 2 :(得分:3)
正如 Sean Sobey 在他的回答中所说,这是因为 const
值必须用值声明。
我想补充一点,您可以在一个语句中声明多个 const
值,例如
const [xMin, xMax, yMin, yMax] = [-2, 2, -1.5, 1.5];
注意(与此处的其他答案相反)const
不是一成不变的,这一点很有用。看:
https://softwareengineering.stackexchange.com/questions/149555/difference-between-immutable-and-const
例如:
const item = { price: 10 };
item.price= 15;
console.log(item.price);
这将输出 15 的更新价格。
答案 3 :(得分:2)
你可以,但是是一个常数,所以你必须在声明中为它们分配一个值
答案 4 :(得分:0)
const
在声明时会被赋予一个值,因为它是只读的。
答案 5 :(得分:0)
const
值。您正在尝试现在声明它以稍后更改它,这不适用于const
。
此问题的解决方案是使用let
或var
声明它。