你真的弄懂let与const了吗

457 阅读1分钟

let与const作为es6的最重要的主角之一,新手一开始就会接触到,但作为新手的你使用这两个声明方法的时候,你真的弄懂let与const了吗?如果没有,待我用最通俗的方法讲解给大家听听。

let:用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效

{
  let a = 10;
  var b = 1;
}

a // ReferenceError: a is not defined.
b // 1

const:声明一个只读的常量。一旦声明,常量的值就不能改变。

const PI = 3.1415;
PI // 3.1415

PI = 3;
// TypeError: Assignment to constant variable.

const 适用于赋值后不会再做修改的情况(常量)。重新赋值会报错。

let 适用于赋值后还会修改的情况(变量)。例如循环计数,或者是一个算法的值交换过程。它同时标志着这个变量只能被用在所定义的块作用域之中,也就是说它并不总是包含在整个函数中。

所以,通过上面可以看出,let和const最主要的区别是一个是用来声明变量,一个是声明常量,刚开始学习es6的朋友记住这一点就能很好地区分,自然就不会用错啦~