259 const, let、const、var 的区别

应用场景:声明对象类型使用 const,非对象类型声明选择 let.
注意: 对象属性修改和数组元素变化不会出发 const 错误 【地址没变。】

声明常量,常量就是值(内存地址)不能变化的量

具有块级作用域

 if (true) { 
     const a = 10;
 }
console.log(a) // a is not defined

声明常量时必须赋值

【let可以不用这样。】

const PI; // Missing initializer in const declaration

常量赋值后,值不能修改

【引用类内的值可以修改,因为没有修改引用。】

const PI = 3.14;
PI = 100; // Assignment to constant variable.

const ary = [100, 200];
ary[0] = 'a';
ary[1] = 'b';
console.log(ary); // ['a', 'b']; 
ary = ['a', 'b']; // Assignment to constant variable.

小结

  • const声明的变量是一个常量
  • 既然是常量不能重新进行赋值,如果是基本数据类型,不能更改值,如果是复杂数据类型,不能更改地址值
  • 声明 const时候必须要给定值

let、const、var 的区别

  • 使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象
  • 使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升
  • 使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值

posted on 2020-01-27 17:14  冲啊!  阅读(128)  评论(0编辑  收藏  举报

导航