概述
- 一旦声明,变量值无法改变。
const a = 1;
a = 2; //error
- 声明时需初始化
const a; // error
- 作用域只在块区域内有效
if (true) {
const a = 1;
}
console.log(a); //error
- 使用变量前必须声明
console.log(a); // error
const a = 2;
- 不能重复声明
var a = 3;
const a = 4; // error
-
const本质:变量指向的内存地址不得改动,并非变量值不能改动。
-
简单数据类型:值保存在内存地址中
-
复杂数据类型(对象、数组)
-
变量地址保存的只是一个指针,const仅保证该指针固定,无法保证指针所指的数据结构是否固定。
-
-
const foo = {};
foo.prop1 = 123;
foo.prop2 = 234;
foo = {}; //Uncaught TypeError: Assignment to constant variable.
foo可以添加属性,foo存储的是一个地址,该地址指向一个对象。不可变的是这个地址,即foo不能指向另一个地址,但是对象本身是可变的,可以为foo添加新属性。
const a = [];
a.push('hello');
a.length = 0;
a = ['Dave']; //Uncaught TypeError: Assignment to constant variable.
常量a是一个数组,数组本身是可写的,如果将另一个数组值赋给a,就会报错。
最后
以上就是无奈电话为你收集整理的ES6 学习系列---《const》的全部内容,希望文章能够帮你解决ES6 学习系列---《const》所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复