es6 var、let、const命令

1.let和var

  <1>let声明的变量仅在块级作用域内有效;

    var声明的变量在全局有效;

  <2> var变量乐意在声明之前使用,输出undefined;

    let 不可以,直接抛出一个错误;

例如:

  //var 声明

  console.log(a);   //undefined
  var a = 55;

  //let 声明

  console.log(b);   //报错ReferenceError

  let b = 67;

注:for循环的循环变量的那部分是一个父级作用域,而循环体内部是一个单独的子作用域。

ES6 明确规定,如果区块中存在letconst命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。

  <3>let不允许在相同作用域内,重复声明同一个变量。

扫描二维码关注公众号,回复: 105652 查看本文章

  例如:

    

function func(){ 

    // 报错
  var a;

  let a;

}

function func(arg) {
    let arg; // 报错
}

2.const

  const声明一个只读的常量。一旦声明,常量的值就不能改变。

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

猜你喜欢

转载自www.cnblogs.com/cocoxia/p/8985877.html