ES6————let和const命令

let 命令

基本用法

ES6 新增了let命令,用来声明变量。它的用法相似于var,可是所声明的变量,只在let命令所在的代码块内有效。javascript



{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1

不存在变量提高

var命令会发生”变量提高“现象,即变量能够在声明以前使用,值为undefined。这种现象多多少少是有些奇怪的,按照通常的逻辑,变量应该在声明语句以后才能够使用。java

为了纠正这种现象,let命令改变了语法行为,它所声明的变量必定要在声明后使用,不然报错。函数

// var 的状况 console.log(foo); // 输出undefined var foo = 2;  // let 的状况 console.log(bar); // 报错ReferenceError let bar = 2;

let不容许在相同做用域内,重复声明同一个变量。spa

// 报错 function func() { let a = 10; var a = 1; }  // 报错 function func() { let a = 10; let a = 1; }

所以,不能在函数内部从新声明参数。code

function func(arg) { let arg; // 报错 } function func(arg) { { let arg; // 不报错 } }
相关文章
相关标签/搜索