为什么javascript const关键字不在数组中?

时间:2018-06-07 07:23:48

标签: javascript ecmascript-6

function home() {
  const list = ['john', 'adele', 'hary']; list.push('tiger');
  return list;
}
home() //["john", "adele", "hary", "tiger"]

推送方法可用,并列出[0] =" abc"是可用的

在JS中,const关键字与Java或CPP不同

3 个答案:

答案 0 :(得分:1)

使用const声明,您无法重新分配变量,但可以对其进行变异,这就是Array.prototype.push方法所发生的情况。

你将无法做到像

function home() {
  const list = ['john', 'adele', 'hary']; 
  list = list.concat(['tiger']); // this is reassignment and hence will fail
  return list;
}
home()

答案 1 :(得分:1)

文档说明:

  1. 常数不能通过重新分配来改变
  2. 常量不能重新声明
  3. 你不是重新分配价值而不是重新宣布,因此它是合法的。

答案 2 :(得分:0)

可以将项目推送到数组中。 但是,为变量分配新数组会引发错误 - 未捕获TypeError:分配给常量变量。

list = ['man','woman']; //ERROR IN YOUR CASE