美文网首页
ES6 let命令特性

ES6 let命令特性

作者: GoFzy | 来源:发表于2019-03-16 16:20 被阅读0次

一、块级作用域

  ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。比如:

function f1(){
  let n = 5;
  if(true){
    let n = 10;
  }
  console.log(n);// 5
}

二、不存在变量提升

  var命令会发生变量提升的现象,即变量可以在生命前使用,且值为undefined(因为变量提升会让变量的声明提前到当前作用域最上面)。而let命令就改变了这一语法:

//var 情况
console.log(foo); //undefined
var foo = 2;

//let 情况
console.log(bar);//报错
let bar = 2;

三、暂时性死区

  在块级作用域内使用let命令,不会受到外部影响:

var tmp = 123;
if(true){
  tmp = 'abc';//报错
  let tmp;
}

  上述代码中,存在全局变量tmp,但在块级作用域内let又声明了一个局部变量tmp,导致后者绑定在这个块级作用域,因此在let声明之前,对tmp的操作都会报错。总结:暂时性死区的本质就是,只要进入当前作用域,所要使用的变量就已经存在,但不可获取,只要声明之后,才可获取和使用该变量。

四、不允许重复声明

  let不允许在相同作用域内重复声明同一个变量:

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

//报错
function(){
  let a = 10;
  let a = 5;
}

//不报错
function(){
  let a = 10;
  {
    let a = 5;
  }
}

相关文章

  • ES6之 let 和 const 命令

    ES6 之 let 和 const 命令 1、let 命令 1.1、基本用法 ES6 新增了let命令,用来声明变...

  • ES6 笔记(常量&&变量)

    ES6 笔记(常量&&变量) 变量&&常量 新特性 ES6 新增了let命令,用来声明变量。它的用法类似于var,...

  • 前端框架复习相关

    1、ES6的新特性及其作用 (1)、let和consta、let与var类似,但只在let命令所在的代码块内有效b...

  • ES6中的let和const命令

    ES6中的let和const命令 let命令 ES6 新增了let命令,用来声明变量。它的用法类似于var,但是...

  • ES6 let命令特性

    一、块级作用域   ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令...

  • ES6详解1

    es6语法 es6新增命令 let let 类似于 var 用来声明变量 ,let 命令所在的 代码块内才生效{l...

  • ES6 let 和 const 命令

    目录 1、let命令 2、块级作用域 3、const命令 1、let命令 ES6 新增了let命令,用来声明变量。...

  • let 和 const 命令

    ES6 let 命令 ES6新增了 let 命令,用于声明变量,其用法类似于varlet 命令声明的变量仅仅在其所...

  • es6个人总结

    let命令es6新增let命令,类似于var命令,但是声明的变量只是在let命令所在的代码块有效,并且let不可以...

  • let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...

网友评论

      本文标题:ES6 let命令特性

      本文链接:https://www.haomeiwen.com/subject/vcssmqtx.html