ES6新特性

1. let、const关键字声明变量

let:var的作用范围是全局,let可以理解为局部
const:声明的变量就变为了常量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.字符串的扩展

  1. api
    includes():返回布尔值,表示是否找到了参数字符串
    startsWith():返回布尔值,表示参数字符串是否在原字符串的头部
    endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部
    在这里插入图片描述
  2. 字符串模板标记
    旧版本中字符串的值不能换行,es6中只要是``之间的内容都会被作为字符串的值
    在这里插入图片描述
    在这里插入图片描述

3.解构表达式

es6中允许按照一定模式从数组和对象中提取值
在这里插入图片描述

4.函数

  1. 为函数的参数赋默认值
    在这里插入图片描述

  2. 箭头函数
    在这里插入图片描述

  3. 对象中函数属性简写
    在这里插入图片描述

  4. 箭头函数结合结构表达式
    可以直接通过写name获取值,不需要person.name

  5. map()和reduce()
    map():接收一个函数,将原数组中的所有元素用这个函数处理后返回新数组返回
    在这里插入图片描述
    reduce():接收一个函数(必须)和一个初始值(可选),改函数接收两个参数

  • 第一个参数是上一次reduce()处理的结果

  • 第二个参数是数组中要处理的下一个元素
    reduce()会从左到右把数组中的元素用reduce()处理,并把处理的结果作为下次reduce()的第一个参数,如果是第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数

    如图所示:首先将初始值赋给a,然后将数组第一个元素赋给b,执行函数并将函数的返回值当作下一轮的初始值。类似sum操作
    在这里插入图片描述

  1. 扩展运算符
    扩展运算符(spread)是三个点,将数组转为用逗号分隔的参数序列
    在这里插入图片描述

  2. Promise
    简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理
    在这里插入图片描述

  3. 数据结构set和map
    Set,与java中的set集合非常相似,不能保存相同的元素
    创建:在这里插入图片描述
    API:
    set.add(1); //添加
    set.clear(); //清空
    set.delete(2); //删除指定元素
    set.has(2); //判断是否存在
    set.forEach(function(){}) //遍历元素
    set.size; //元素个数(是属性)
    在这里插入图片描述
    Map:本质是Object类似的结构。不同在于,Object强制规定key只能是字符串,而Map中的key可以是任意对象;即:
    · object是<string,object>集合
    · Map是<object,object>集合
    创建:
    在这里插入图片描述
    API:
    map.set(key, value); //添加
    map.clear(); //清空
    map.delete(key); //删除指定元素
    map.has(key); //判断key是否存在
    map.forEach(function(key,value{})); //遍历
    map.size; //元素个数(是属性)
    map.values(); //获取value的迭代器
    map.keys(); //获取key的迭代器
    map.entries(); //获取entry的迭代器
    在这里插入图片描述

  4. class(类)的基本语法
    在这里插入图片描述

  5. Generator函数
    在Javascript中,一个函数一旦开始执行,就会运行到最后或遇到return时结束,运行期间不会有其它代码能够打断它,也不能从外部再传入值到函数体内。而Generator函数(生成器)的出现使得打破函数的完整运行成为了可能,其语法行为与传统函数完全不同。Generator函数是ES6提供的一种异步编程解决方案,形式上也是一个普通函数
    特征:

    1. function关键字与函数名之间有一个星号 “*”
    2. 函数体内使用 yield 表达式,定义不同的内部状态
    3. 直接调用 Generator函数并不会执行,也不会返回运行结果,而是返回一个遍历器对象(Iterator Object)
    4. 依次调用遍历器对象的next方法,遍历 Generator函数内部的每一个状态
      在这里插入图片描述
  6. for…of循环,遍历迭代器
    在这里插入图片描述

  7. Decorator修饰器
    修饰器(Decorator)是一个函数,用来修改修改类的行为,类似java的注解。
    在这里插入图片描述
    原因:ES6中,并没有支持该用法,再ES2017中才有,所以不能直接运行,需要进行转码后再执行。转码的意思是:将ES6或ES2017转为ES5执行

  8. 模块化
    将代码进行拆分,方便重复利用,类似java的封装、导包。js中没有包的概念,所以是模块
    命令:
    · export 用于规定模块的对外接口
    · import 用于导入其他模块提供的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值