基本用法

ES6中const声明一个只读的常量,一旦声明,值就不能改变,所以const一旦声明变量,就必须立即初始化,不能留到以后赋值。

1
2
3
4
5
6
const PI = 3.1415;
PI // 3.1415
PI = 3; // 报错
const a ; // 报错
a = 3 ;

与let相似的特点

  • 作用域
    const的作用域与let命令相同:只在声明所在的块级作用域内有效。

    1
    2
    3
    4
    5
    if (true) {
    const tmp = 5;
    }
    tmp // 报错
  • 常量不提升
    const命令声明的常量也是不提升,同样存在暂时性死区

    1
    2
    3
    4
    if (true) {
    console.log(a); // 报错
    const a = 5;
    }
  • 不可重复定义

    1
    2
    3
    4
    5
    6
    var a = "Hello!";
    let b = 25;
    // 以下两行都会报错
    const a = "Goodbye!";
    const b = 30;
  • 常量不属于顶层变量

本文地址: http://wsdever.github.io/2016/10/04/20161104/