当前位置: 首页 > 编程笔记 >

ES6使用let命令更简单的实现块级作用域实例分析

衡翰藻
2023-03-14
本文向大家介绍ES6使用let命令更简单的实现块级作用域实例分析,包括了ES6使用let命令更简单的实现块级作用域实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了ES6使用let命令更简单的实现块级作用域。分享给大家供大家参考,具体如下:

let 带来了更简单的块级作用域

1. ES6新增了let命令,用于声明变量。其与var的不同在于,用let声明的变量只在 { } 内有效。这使得我们可以很方便的实现块级作用域,不再使用立即实行函数。

{
 let a=1;
 var b=2;
}
console.log(a); //undefined
console.log(b); //2

在for循环中使用let可以有效避免全局变量污染。

2. let不会变量提升。也就是说,如果你使用var ,可以先使用变量再定义变量(注意:变量提升只提升声明不提升赋值操作),但是如果你使用let定义变量则必须先定义后使用,否则会报错。

console.log(a);//报错:Uncaught ReferenceError: a is not defined
console.log(b); //undefined
let a=1;
var b=2;

3. 暂时性死区(Temporal Dead Zone)

只要块级作用域内有let,let 声明的变量不受全局同名变量的影响,如果想要在块级作用域内使用let 声明的变量,只能为其赋值。

var a=1;
if(true){
 a=2;
 let a; //Uncaught ReferenceError: a is not defined
}

4. 不允许在一个块级作用域内重复声明一个变量

不管是var与let重复声明,还是let与let重复声明,都会报错。

希望本文所述对大家ECMAScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍let const var的区别 ,什么是块级作用域,如何用ES5的方法实现块级作用域(立即执行函数),ES6 呢?相关面试题,主要包含被问及let const var的区别 ,什么是块级作用域,如何用ES5的方法实现块级作用域(立即执行函数),ES6 呢?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 提起这三个最明显的区别是var声明的变量是全局或者整个函数块的,而let

  • 本文向大家介绍ES6学习笔记之let与const用法实例分析,包括了ES6学习笔记之let与const用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ES6学习笔记之let与const用法。分享给大家供大家参考,具体如下: 在ES6中不是var,而是通过let来声明变量,用const来声明常量,有如下一些不同: 1、let与const作用域只限于当前代码块{},而var则没有这

  • 本文向大家介绍Python psutil模块简单使用实例,包括了Python psutil模块简单使用实例的使用技巧和注意事项,需要的朋友参考一下 安装很简单 官网地址为: https://pythonhosted.org/psutil/ (文档上有详细的api) github地址为: https://github.com/giampaolo/psutil/ psutil比较好的地方,一个是跨平台

  • 本文向大家介绍使用jQuery实现简单的tab框实例,包括了使用jQuery实现简单的tab框实例的使用技巧和注意事项,需要的朋友参考一下 html代码 css代码 jquery代码 以上这篇使用jQuery实现简单的tab框实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍asp.net实现简单分页实例,包括了asp.net实现简单分页实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了asp.net实现简单分页的方法。分享给大家供大家参考。 具体实现方法如下: 希望本文所述对大家的asp.net程序设计有所帮助。

  • 本文向大家介绍AngularJS中的作用域实例分析,包括了AngularJS中的作用域实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS中的作用域。分享给大家供大家参考,具体如下: 问题引入 使用 Angular 进行过一段时间的开发后,基本上都会遇到一个这样的坑: 把 p 元素和 input 元素绑定同一个变量,你本以为,在输入框输入内容,p 中显示的肯定也是随之