首页 > 其他分享 >es6都新增了什么?

es6都新增了什么?

时间:2023-03-15 09:02:29浏览次数:27  
标签:es6 const 异步 什么 新增 let 数组 var

一.var,let,const区别
1.变量提升:var存在变量提升,即变量可在声明前调用,值为undefined,let,const不存在变量提升
2.暂时性死区:var不存在,let,const存在,只有等到声明变量那一刻才能使用
3.块级作用域:var不存在作用域,let和const存在块级作用域
4.重复声明:var允许,let和const在同一作用域不允许重复声明变量
5.修改声明变量:var和let可以,const声明一个常量,声明完,不能改变
能用const就用 ,多数用let,避免使用var
二:es6新增的数组方法
1.扩展运算符...的应用
2.Array.from:将类似数组的对象转为数组,Array.from(arr,(x)=>x*x)第一个参数是原数组,第二个参数可对数组进行平方处理
3.Arroy.of:将一组值转为数组,没有参数,返回空数组,只有一个参数,返回数组的长度,有两个以上参数array()才会返回有参数
组成的新数组;
4.find()用于找出第一个符合条件的数组成员,参数是一个回调函数find(value,index,arr),分别为值,索引,原数组
5.findIndex():返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
6.fill()使用给定值,填充一个数组,【'a','b','c'】.fill(72)  //[7,7,7]
7.entries(),key(),values()keys()是对键名的遍历,values()是对键值的遍历,entries()是对键值对的遍历8.includes()判断数组是否包含给定的值
[1,2,3].includes(2) //true
9.flat(),flatMap()
将数组扁平化处理,返回一个新数组,对原数据没有影响
flat()只会拉平一层,想拉平两层flat(2)
flatMap()方法对原数组的每个成员执行一个函数相当于执行Array.prototype.map(),然后对返回值组成的数组执行flat()方法。
该方法返回一个新数组,不改变原数组
10.sort排序()默认设置为稳定的排序算法
三.es6中对象新增哪些扩展
1.属性简写

2.属性表达式

3.super关键字:this指向函数所在的对象,super指向当前对象的原型对象

4.扩展运算符 ...

5.属性的遍历

6.object.setprototypeof()设置对象的原型对象,get是获取

7.object.key()返回可比遍历的键名的数组

8.object.values()返回键对应值的数组

9.object.entries返回键值对
四.es6函数新增哪些扩展
1.length返回没有默认值的参数个数

2.允许函数的参数设置默认值

3.箭头函数
五.es6的promise
     翻译为承诺,是异步编程的解决方案,代码可读性明显增强,用来解决回调地狱,一旦状态改变,就不会在变,信任度很好;有三个状态:pending进行中,fulfilled
已成功,rejected已失败。reselove成功,reject失败
六.es6的Generator
     也是异步解决方案,但并不是为异步而设计出来的,它还有其他功能(对象迭代,控制输出,部署interator接口..)
七.什么是async和await
它其实是Generator的语法糖,是一种建立在promise之上的编写异步或非阻断代码的新方法,被普遍认为是js异步操作最终解决方案,
async是异步的简写,await则译为等待,async用于申明一个function函数是异步的,而await用于等待一个异步方法执行完成,await必须出现在async函数中
八.es6的proxy
为构造函数,一般作为前端跨域,有两个参数值,第一个target,表示要拦截的对象,handler通常以函数作为属性的对象
九.怎么理解module
模块化,export导出,import导入

使用场景:vue组件和react项目搭建的项目,经常会用到
十.Decorator
类和类属性的装饰,不改变原有的代码,对原来功能进行扩展
使用场景:使用react-redux时,通过装饰器,让代码变得更简洁,

标签:es6,const,异步,什么,新增,let,数组,var
From: https://www.cnblogs.com/caqqqq/p/17217184.html

相关文章

  • 在外汇市场中为什么交易者膜拜江恩?Forexclub这样回答
    你敢相信吗?出身贫苦农家的普通人,只是在市场跑腿的男孩,却在外汇交易中对高点和低点做出了几乎准确的预测,并且预测了第二次世界大战和即将到来的经济和政治危机,这个人就是威廉......
  • Kafka为什么性能这么快
    1、页缓存技术pagecacheKafka是基于操作系统的页缓存(pagecache)来实现文件写入的,我们也可以称之为oscache,意思就是操作系统自己管理的缓存。Kafka在写入磁盘文件......
  • es6 class对象转换es5
    在线转换工具https://babeljs.io/repl//es6classPerson{staticname='lisi'#age=null#sex=nullconstructor(){this.name='zhangsan'}......
  • 同步时间,为什么我选 Chrony 而不是 NTP ?
    初识chronychrony是网络时间协议(NetworkTimeProtocol)的通用实现 它不但可以提供保持系统时间与NTP时钟服务器同步的服务,还能作为NTP服务器对其他服务器提供时......
  • 【2023自动化测试基础知识】什么是自动化测试?
    ​大家好,我是小码哥。今天主要学习自动化测试相关概念。什么是自动化测试?自动化测试是一种软件工具的应用,用于自动化由人驱动的检查和验证软件产品的手工过程。大多数......
  • 什么是寄存器和存储器?寄存器与存储器有何区别?
    中央处理器CPU是单片机的核心,主要用来解译单片机指令以及处理计算机数据,内部结构大致可以分为控制单元、逻辑运算单元和存储单元三个部分,存储器和寄存器在计算机中起着不可......
  • 什么是SAAS微信小程序?
    SAAS小程序是一种基于云计算、软件即服务(SoftwareasaService,SAAS)的小程序。SAAS小程序提供基于云端的应用程序服务,用户可以通过互联网访问和使用这些应用程序,而不必自己......
  • 为什么要使用线程池?创建线程池的参数有哪些?线程池的原理是什么?
    为什么要使用线程池?线程池有一下优点:线程在是非常宝贵的资源,使用线程池可以重复使用线程,避免频繁的创建和销毁线程所带来的系统损耗。可以根据系统的具体情况调整线程......
  • fidder为什么抓取不到网页的数据
    fidder为什么抓取不到网页的数据(1)配置Fiddler允许监听https(2)配置Fiddler允许远程连接(3)配置手机端打开手机连接到同一局域网的wifi,并修改该wifi网络详......
  • 区块链校园溯源平台对学生们意味着什么?
    随着科技的不断进步和应用,区块链+IEN技术逐渐被应用到各个领域,其中之一便是区块链校园溯源平台。那么,区块链校园溯源平台对学生们意味着什么呢?让我们来一起探讨一下。首先,区......