ES6 const

const

与var 变量不同,必须在声明的同一语句中指定它的值

// 常量要求一个初始值
const FOO; // SyntaxError: missing = in const declaration

const**声明**创建一个值的只读引用。但这并不意味着它所持有的值是不可变的,只是变量标识符不能重新分配。例如,在引用内容是对象的情况下,这意味着可以改变对象的内容(例如,其参数)。

const MY_FAV = 7;
// 尝试重新声明会报错 
const MY_FAV = 20;
​
//  MY_FAV 保留给上面的常量,这个操作会失败
var MY_FAV = 20; 
​
// 也会报错
let MY_FAV = 20;
const MY_ARRAY = [];
// It's possible to push items into the array
// 可以向数组填充数据
MY_ARRAY.push('A'); // ["A"]
// 但是,将一个新数组赋给变量会引发错误
MY_ARRAY = ['B']

 

作用域为全局作用域和块作用域

if (MY_FAV === 7) { 
    // 没问题,并且创建了一个块作用域变量 MY_FAV
    // (works equally well with let to declare a block scoped non const variable)
    let MY_FAV = 20;
​
    // MY_FAV 现在为 20
    console.log('my favorite number is ' + MY_FAV);
​
    // 这被提升到全局上下文并引发错误
    var MY_FAV = 20;
}
​
// MY_FAV 依旧为7
console.log("my favorite number is " + MY_FAV);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值