假设我有
const array = [1, 2, 3, 4];
我想用重新启动
const array = [1, 2, 3, 4, 5];
那么如何避免(不关闭和重新打开控制台(
VM347:1未捕获语法错误:标识符"array"已被已声明在:1:1
我认为你不能,控制台很特别,但从根本上讲,它是一个开放式执行上下文。除非const
位于嵌套块中,否则不能在同一执行上下文中重新声明它。(如果你在控制台中打开一个嵌套块,在关闭该块之前,你不会看到评估的内容,所以这没有帮助。(
相反,使用let
并第二次关闭let
:
let array = [1, 2, 3, 4];
// ...
array = [1, 2, 3, 4, 5];
或者,如果这是一个大问题,使用var
,因为你可以重复它
var array = [1, 2, 3, 4];
// ...
var array = [1, 2, 3, 4, 5];
将const更改为var。
使用const意味着在初始化后不能更改这些值。
var array = [1, 2, 3, 4];
所以,当你想改变值做:
array = [1, 2, 3, 4, 5];
所以现在它应该起作用了。
你不能。这与Node.js终端相同。如果已声明,则需要通过刷新控制台来重置上下文。
const
声明了一个只读命名常量,在这种情况下应该使用let
语句,如下所示:
let array = [1, 2, 3, 4]
// Reassign the value of 'array'
array = [1, 2, 3, 4, 5]
// Log the result
console.log(array)
结果:
1, 2, 3, 4, 5