ES6快速入门

255 阅读1分钟

ES6 let、const声明变量;

let和const变量声明

let变量声明

  • let 声明块级作用域变量,以大括号为块
{
    // 块级作用域
    let x = 10;
    let y =  20;
}
  • let 声明的变量不能提前使用,更加严谨
console.log(x);
var x = 10;
console.log(y);// 会报错 y is not defined
let y = 20
  • 在相同作用域下使用let声明相同的变量会报错。
function foo(){
    let x = 10;
    let x = 20;
}
foo();// 会报错 Identifier 'x' has already been declared
  • var变量声明会提前执行,但是let不会
let x = 10;
console.log(y);// 会报错 Identifier 'x' has already been declared
console.log(z);// undefined
if(false){
    let y = 20;
    var z = 30
}

const变量声明

  • const 用来声明常量。
  • const声明变量必须立即初始化,并且其值不能再改变。
const PI = 3.14

全局对象属性

  • var命令和function命令声明的全局变量依旧是全局对象的属性。
  • let命令、const命令和class命令声明的全局变量不属于全局对象的属性;
var x = 10;
let y = 20;
console.log(window.x);// 10
console.log(window.y);// undefined