资讯专栏INFORMATION COLUMN

ES6新增命令:let

mist14 / 2185人阅读

摘要:的介绍是新增的命令。基本语法声明的变量,只在其所在其所在的代码块内有效。不允许在函数的一级作用域内重新声明参数。

let的介绍

let是ES6新增的命令。
作用:声明变量。
类似于:var。
与var的区别:使用let声明的变量,只在其所在的代码块内有效。

定义回顾

声明变量:可以用var,也可以不用var。
是否允许变量提升:允许。
是否允许重复声明同一个变量:允许。
变量的作用域:全局作用域、函数作用域。
在全局作用域中,无论是否使用var,定义的变量都是全局变量。
在函数作用域中,使用var定义函数局部变量,不使用var定义全局变量。
全局变量全局可用,函数局部变量在函数内可用。
代码块:用{}栝起来的代码片段。

基本语法

let声明的变量,只在其所在其所在的代码块内有效。
let不存在变量提升。
let不允许重复声明。
let不允许在函数的一级作用域内重新声明参数。
let存在的块级作用域,它声明的这个变量或“绑定”这个区域,形成“暂时性死区”,使其不再受外部影响。
就是说,一个变量,无论其在外部是否声明,只要在某个块级作用域内使用let重新声明了,那么在这个块级作用域内该变量在声明前是不可以使用的。

使用场景

for循环的计数器
let声明的循环变量i只在本轮循环有效,每一次循环的i都是一个新变量。特别的JavaScript引擎内部会记住上一轮循环的值,初始化本轮的变量i时,是在上一轮循环的基础上进行计算。
另外,for循环设置循环变量的那部分是一个父作用域,而循环体内部是一个多带带的自作用域。

代码片段 part 1:var声明变量回顾
part 2:let声明的变量时局部变量
part 3:for循环中使用var定义循环参数,该参数会变味全局参数
part 4:for循环中使用let定义循环参数,改参数是块级作用域内的参数
part 5:对比part3,用var定义循环变量
part 6:for循环中,外层是一个父作用域,里面的每层循环是一个自作用域,互不影响
part 7:let声明的变量不允许变量提升
part 8:块级作用域中用let声明的变量会形成【暂时性死区】,即使在全局声明了该变量,也不能在let声明前调用
part 9:let声明的变量不允许重复声明
part 10:不允许在函数的一级作用域内使用let重新声明参数
part 11:可以在函数的二级或三级等作用域内使用let重新声明参数,且与一级作用域中的参数互不影响

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100271.html

相关文章

  • 【前端】ES6入门基础知识

    摘要:关于的入门了解新增模板字符串为提供了简单的字符串插值功能箭头函数操作符左边为输入的参数,而右边则是进行的操作以及返回的值。将对象纳入规范,提供了原生的对象。增加了和命令,用来声明变量。 关于ES6的入门了解 新增模板字符串(为JavaScript提供了简单的字符串插值功能)、箭头函数(操作符左边为输入的参数,而右边则是进行的操作以及返回的值Inputs=>outputs。)、for-o...

    philadelphia 评论0 收藏0
  • ES 6 新增的块级作用域let

    摘要:为什么要添加块级作用域之前,变量只有全局作用域也称全局变量和函数作用域局部变量,所以会导致以下不合理的情况函数的局部变量会覆盖同名的全局变量。这就导致了如果你要在函数内部调用全局变量,那么函数内声明的局部变量就一定不能和全局变量同名。 ES 6 新增的块级作用域let 在2015年之前,JavaScript是没有块级作用域的,之后在ES6版本新增了块级作用域,为了更好的理解ES6这一新...

    Xufc 评论0 收藏0
  • ES6基础知识01(let,const,解构赋值)

    摘要:声明的变量不得改变值,这意味着,一旦声明变量,就必须立即初始化,不能留到以后赋值。解构赋值允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。对象的解构赋值对象的属性没有次序,变量必须与属性同名。 ES6 新增特性整理讲解 新增命令 1.let命令 ES6新增了let命令,用来声明变量。它的用法类似于var,但是也存在新的特性。 - **let所声明的变量,只在le...

    MSchumi 评论0 收藏0
  • ES6基础知识01(let,const,解构赋值)

    摘要:声明的变量不得改变值,这意味着,一旦声明变量,就必须立即初始化,不能留到以后赋值。解构赋值允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。对象的解构赋值对象的属性没有次序,变量必须与属性同名。 ES6 新增特性整理讲解 新增命令 1.let命令 ES6新增了let命令,用来声明变量。它的用法类似于var,但是也存在新的特性。 - **let所声明的变量,只在le...

    Gilbertat 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<