kni*_*ion 13 javascript ecmascript-6
这是正确的语法:
let foo, bar;
这是不正确的
const foo, bar;
这是为什么?
有没有办法在一个地方声明一些常量,并在另一个地方定义它们?除了约束声明和定义.
Frx*_*rem 11
可以声明一个普通变量(用var或let声明)没有值,因为您可以在以后分配它们:
let foo; // foo has value undefined
foo = 3; // foo has value 3
Run Code Online (Sandbox Code Playgroud)
但是,您不能对常量执行相同的操作,因为在声明它们之后无法更改它们的值:
const foo; // ...?
foo = 3; // this is not allowed because foo is constant
Run Code Online (Sandbox Code Playgroud)
因此,您必须同时声明并为常量赋值.这可以通过多个consts一次完成:
const foo = 3,
bar = 8; // this works fine, foo and bar are both constants
Run Code Online (Sandbox Code Playgroud)
没有办法在一个地方声明一个const并在另一个地方分配它.你必须使用var或let代替.
正如 Sean Sobey 在他的回答中所说,这是因为const价值观必须用价值观来声明。
我想补充一点,您可以const在一个语句中声明多个值,例如
const [xMin, xMax, yMin, yMax] = [-2, 2, -1.5, 1.5];
Run Code Online (Sandbox Code Playgroud)
值得注意的是(与这里的其他答案相反)aconst不是不可变的。请参阅:
https: //softwareengineering.stackexchange.com/questions/149555/difference- Between-immutable-and-const
例如:
const item = { price: 10 };
item.price= 15;
console.log(item.price);
Run Code Online (Sandbox Code Playgroud)
这将输出更新后的价格 15。
| 归档时间: |
|
| 查看次数: |
13108 次 |
| 最近记录: |