1.什么是ES6,为什么使用它

article/2025/9/3 2:25:05

1.什么是ES6?

  • ECMAScript
    6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript
    2.0。
  • ES6主要是为了解决ES5的先天不足,比如JavaScript里并没有类的概念,但是目前浏览器的JavaScript是ES5版本,大多数高版本的浏览器也支持ES6,不过只显示了ES6的部分特性和功能。

在这里插入图片描述

2.为什么使用ES6?

每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。

  • ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。
  • 变量提升特性增加了程序运行时的不可预测性
  • 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码

3.ES6 的目标与愿景
成为更好编写的开发语言有以下目标:

  • 适应更复制的应用;
  • 实现代码库之间的共享;
  • 不断迭代维护新版本

4.ES6的新增语法—let

let的三大特性:1.用于声明变量的的关键字,必须先声明再使用2.let声明的变量具有块级作用域3.暂时性死区特性

下面我通过案例向童靴们解析:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>使用let关键字声明变量</title></head><body><script>//let关键字用于声明变量的,使用let关键字声明的变量具有块级作用域let num = 10;console.log(num);//错误使用let(let声明变量只在所处于的块级有效)if (true) {let nums = 100;}console.log(nums); //nums is not defined</script></body>
</html>

浏览器控制器运行如下:
在这里插入图片描述

注意:var用于声明全局变量,不具备块级作用域

 // 在一个大括号中// 使用let关键字声明的变量才具有块级作用域,var关键字是不具备这个特点的if(true) {let a = 100;var b = 200;}console.log(a);consoLe.log(b);

浏览器控制器运行如下:
在这里插入图片描述

      // 防止循环变量变成全局变量for (let i = 0; i < 2; i++) {}console.log(i);// 浏览器控制器运行如右:i is not defined

注意:使用let关键字声明的变量具有暂时性死区特性

      //使用let关键字声明的变量具有暂时性死区特性;var num = 10;if (true) {consoLe.log(num);let num = 20;}

浏览器控制器运行如下:
在这里插入图片描述

最后附上所有代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>使用let关键字声明变量</title></head><body><script>//let关键字用于声明变量的,使用let关键字声明的变量具有块级作用域let num = 10;console.log(num);//错误使用let(let声明变量只在所处于的块级有效)if (true) {let nums = 100;}console.log(nums); //nums is not defined// 在一个大括号中// 使用let关键字声明的变量才具有块级作用域,var关键字是不具备这个特点的if (true) {let a = 100;var b = 200;}console.log(b);consoLe.log(a);// 防止循环变量变成全局变量for (let i = 0; i < 2; i++) {}console.log(i);//i is not defined//使用let关键字声明的变量具有暂时性死区特性;var num = 10;if (true) {consoLe.log(num);let num = 20;}</script></body></html>

http://chatgpt.dhexx.cn/article/d1sPjg9e.shtml

相关文章

ES6是什么

ES6是什么 ECMAScript 6.0&#xff08;以下简称 ES6&#xff09;是 JavaScript 语言的下一代标准&#xff0c;已经在 2015 年 6 月正式发布了。 它的目标&#xff0c;是使得 JavaScript 语言可以用来编写复杂的大型应用程序&#xff0c;成为企业级开发语言。 现在大部分的编…

ES6是什么?通俗理解

1.了解一门语言&#xff0c;首先要搞明白它到底是什么&#xff1f; ECMA (Eurupean Compuler Manuluclurers Assuxiation)中文名为欧洲计算机制造商协会&#xff0c;这个组织的日常是评估、开发和认可电信和计算机标准。19919 年后该组织改名为ECMA国际。 ES6是门脚本语言&…

list集合转换成string字符串

集合转换成字符串 闲来无事&#xff0c;总结了几种list转换成string的方法 第一种 <jdk8新特性&#xff0c;string集合、integer集合均可随意转换成string> 个人觉得这个方法应该属于jdk8的新特性 ArrayList<String> arrayList new ArrayList<String>(){{…

python set转为list_python 怎么把set转成list

今天小就为大家分享一篇python-list,set间的转换实例&#xff0c;具有很好的参考价值&#xff0c;推荐手册&#xff1a;Python 基础入门教程 其实python中&#xff0c;set转list的非常的简单&#xff0c;直接将set的值放入list()的括号中即可&#xff0c;相反&#xff0c;list转…

Java list转set;JDK8 下list 集合转Set 集合

List 集合转Set 集合 1. List 集合和Set 集合的区别 在说如何List集合转Set 集合之前我们先回顾一下 List 集合和Set 集合的区别, 细致上说List 集合和Set 集合的区别还是有蛮多的有兴趣的同学可以去看一下源码&#xff0c;粗糙地讲List 集合和Set 集合的区别主要有那么几点 …

Java中的List与Set转换

一、List列表与Set列表的区别 List列表是有序、可以重复、线程不安全的列表,Set是无序、不能重复、线程不安全的列表。但List和Set可以通过方法来转换为线程安全的&#xff0c;加互斥锁。 Set<Long> setnew HashSet<>();// 转换为线程安全的集合Collections.sy…

BigDecimal中divide方法与setScale方法详解

BigDecimal中divide方法详解 1、首先说一下用法&#xff0c;BigDecimal中的divide主要就是用来做除法的运算。其中有这么一个方法. public BigDecimal divide(BigDecimal divisor,int scale, int roundingMode)第一个参数是除数&#xff0c;第二个参数代表保留几位小数&#x…

BigDecimal加减乘除及setScale的用法小结

Bigdecimal初始化&#xff1a; BigDecimal num new BigDecimal(2.225667);//这种写法不允许&#xff0c;会造成精度损失。 BigDecimal num new BigDecimal("2.225667");//一般都会这样写最好。 两种方式在下面会有实例比较。 一、setScale 1. ROUND_DOWN BigDecima…

2018年5-7月面试经历总结:阿里面试题

第一轮&#xff1a;电话初面 第二轮&#xff1a;技术面谈【技术职位尽量避免多谈管理上的工作】 第三轮&#xff1a;高管复试 第四轮&#xff1a;HR最后确认 一面&#xff1a;首先确认对阿里的意向度&#xff08;如果异地更会考虑对工作地点(杭州&#xff09;的意向度&#…

腾讯、阿里面试题 了解B+树吗?

腾讯、阿里面试题: 了解B树吗&#xff1f; 由于MySQL的索引结构是B树&#xff0c;所以B树是大厂的高频面试题,想理解B树&#xff0c;最好先理解B树&#xff0c;下面详细介绍B树、B树 B树 B树的概念 B树又称为B-树&#xff0c;是一种平衡多路查找树&#xff0c;描述B树&#x…

2021.3.10阿里面试题

获得第一行 n m ktempinput() templisttemp.split(" ") nint(templist[0]) mint(templist[1]) kint(templist[2])获得城市二维列表city[] for i in range(n):temp input()templist list(temp)if in templist: #找到起始位置&#xff0c;然后记录下标&…

阿里巴巴面试题- - -JVM篇(十四)

前言&#xff1a;七月末八月初的时候&#xff0c;秋招正式打响&#xff0c;公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们&#xff0c;学长这里整理了一系列的秋招面试题给大家&#xff0c;所以小伙伴们不用太过焦虑&#xff0c;相信你们一定能超常发挥&#xff0c;…

总结一下软通外派阿里的面试题

前段时间&#xff0c;面了几家大外派到阿里的项目&#xff0c;所以和大家分享一下面试题 上来就是老套路 面试官&#xff1a;说下你们项目的流程 果咩&#xff1a; 巴拉巴拉。。。。 面试官&#xff1a;你们项目如何使用redis高可用的 果咩&#xff1a;可以使用哨兵模式和C…

阿里巴巴一面 :十道经典面试题解析

1. 用到分布式事务嘛?为什么用这种方案,有其他方案嘛? 什么是分布式事务 谈到事务&#xff0c;我们就会想到数据库事务&#xff0c;很容易就想到原子性、一致性、持久性、隔离性。 分布式事务跟数据库事务有点不一样&#xff0c;它是指事务的参与者、支持事务的服务器、资源…

46 道阿里巴巴 Java 面试题,你会几道?

做技术的有一种资历&#xff0c;叫做通过了阿里的面试。 这些阿里 Java 相关问题&#xff0c;都是之前通过不断优秀人才的铺垫总结的&#xff0c;先自己弄懂了再去阿里面试&#xff0c;不然就是去丢脸&#xff0c;被虐。 希望对大家帮助&#xff0c;祝面试成功&#xff0c;有…

最新出炉的阿里巴巴面试题及答案汇总(513页)

前言 秋招已经结束了&#xff0c;不知道各位有没有拿到自己心仪的offer&#xff1f;最近有不少粉丝去阿里巴巴面试了&#xff0c;回来之后我整理成了一份手册java面试时常用到的面试题&#xff08;附答案&#xff09;那么今天分享给大家&#xff0c;祝愿大家都能找到满意的工作…

阿里云面试题

转自&#xff1a;https://yq.aliyun.com/articles/6656 今天为大家分享的是《阿里巴巴常考面试题及汇总答案&#xff08;上篇&#xff09;》 原文如下&#xff1a; 一、String,StringBuffer, StringBuilder 的区别是什么&#xff1f;String为什么是不可变的&#xff1f; 答&…

历年阿里面试题汇总(2017年不断更新中)

Volatile的特征&#xff1a; A、禁止指令重排&#xff08;有例外&#xff09; B、可见性 Volatile的内存语义&#xff1a; 当写一个volatile变量时&#xff0c;JMM会把线程对应的本地内存中的共享变量值刷新到主内存。 当读一个volatile变量时&#xff0c;JMM会把线程对应的…

iOS-阿里面试题

先把这个几个面试写出来&#xff0c;各位看官可以试着去网上找找答案。 这些是《蚂蚁金服》的面试题 问题缩减如下&#xff1a; 1&#xff1a;在KVO中&#xff0c;他是怎么知道监听的对象发生了变化&#xff1f; 2&#xff1a;字典的工作原理 &#xff1f;怎100w个中是怎么快…

最全阿里面试题:已拿offer,阿里P8岗位完整阿里技术面试题目,这些面试题你能答出多少

我们在操作数据库的时候&#xff0c;可能会由于并发问题而引起的数据的不一致性&#xff08;数据冲突&#xff09;。如 何保证数据并发访问的一致性、有效性&#xff0c;是所有数据库必须解决的一个问题&#xff0c;锁的冲突也是 影响数据库并发访问性能的一个重要因素&#…