您的位置:首页 > 其它

ES6(ECMAScript 6.0)六种声明变量的方法

2020-07-19 04:09 225 查看

ES6与javascript的关系

ES6是javascript的一种规范,而javascript则是ES6的一种实现!

变量提升

所有的声明都会提升到作用域的最顶上去

console.log(a)//undefinde
var a = 1

=

var a
console.log(a)//undefinde
a = 1

ES6的六种声明变量的方法(let const function class import var)

let

{
let a = 10;
var b = 1;
}
//let 只在自己声明的代码块中有效
a // ReferenceError: a is not defined.
b // 1

let存在“暂时性死区”(temporal dead zone,简称 TDZ)
在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”

if (true) {
// TDZ开始
tmp = 'abc'; // ReferenceError
console.log(tmp); // ReferenceError

let tmp; // TDZ结束
console.log(tmp); // undefined

tmp = 123;
console.log(tmp); // 123
}

const

const声明一个只读的常量。一旦声明,常量的值就不能改变
const实际上保证的,并不是变量的值不得改动,而是变量指向的那个"内存地址"所保存的数据不得改动

const foo = {};

// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123

// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐