ES6 之 const理解的误区

在ES6中个定义变量的关键字是 const,let,var , 但是const它经常被误会为一个“常量”。在ES6中, const 代表一个值的 常量索引 (事实上绝大多数语言都提供这样的功能)。换句话说,变量名字在内存中的指针不能够改变,但是指向这个变量的值 可能 改变。

这里有一个简单的例子。在下面的例子中我们可以创建一个拥有常量索引的数组变量。我们在之后添加值到这个数组中并不改变这个索引,一切都可以运行起来:

const value= [ ] ;

value. push ( “const” ) ;

console . log ( value) ;

但是,如果我们尝试修改变量索引到一个新的数组——即使是和现在内容一样的数组——我们将获得一个SyntaxError (“Assignment to constant variable”):

const names = [ ] ;

names = [ ] ; // Error!

当然,如果你拥有一个指向string或者number的 const ,当然这里就不会有任何可以修改的值。所有String和Number的方法返回 新的 值(对象)。

猜你喜欢

转载自www.cnblogs.com/hua-shao/p/9390447.html