js[es6相较于es5常用内容整理]

es6又称es2015,这个是es中的一个大版本的改变,因此相较于es5来说有了许多的变化。而后续的es6以上的版本通常是以年份来叫如es2015(es6)、es2016(es7)、es2017…
es6的具体新增内容可以参考阮一峰老师的:ECMAScript 6 入门

es6常用内容整理

1.新增块级作用域以及let、const常量变量命名
2.解构赋值

解构赋值即指将一种数据结构拆分为更小的内容单位,然后将其赋值给另一个结构类似的变量的过程,解构赋值可以用于许多的地方:数组、对象、字符串、数值、布尔值、函数参数等,不同的数据格式赋值的规则会有细微的差距

3.字符串、正则、数值、函数、数组、对象都有新的内容及方法的拓展

常用的拓展
------ 字符串

  • 模板字符串(用反引号包裹,可放置变量${}等)
  • 新增字符串方法(includes()、startsWith()、endsWith()、endsWith()、padStart()、padEnd()、trimStart()、trimEnd())

------ 正则

  • u/y修饰符
  • 新增一些相关属性和方法

------ 数值

  • Number对象新增属性和方法方法(EPSILON、isFinite()、isNaN()、isInteger()、isSafeInteger())
  • Math对象的一些方法拓展
  • 指数运算符

------ 函数

  • 函数参数可以指定默认值
  • 函数的name属性,返回该函数的函数名
  • 箭头函数(最明显的作用就是不改变this的指向)

------ 数组

  • 拓展运算符
  • 新增静态方法(from()、of())
  • 新增实例方法(copyWithin()、find()、findIndex()、fill()、entries(),keys()、values()、includes()、flat()、flatMap()、)

------ 对象

  • 属性的简介表示发以及属性名表达式
  • 方法含有name属性
  • 新增对象遍历的方法
  • super 关键字的使用
  • 链判断运算符
  • Null 判断运算符
  • 新增方法(is()、assign()、fromEntries()、entries()、values()、keys()、setPrototypeOf()、getPrototypeOf())
4.新的原始数据类型Symbol

ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。目的是为了防止属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。

5.Set 和 Map 数据结构

可以看作类数组或者是类对象、Set 和 数组的区别是里面的内容唯一、Map和对象的区别在于键名是可以随意拓展

6.Proxy 代理器对象

ES6 为了操作对象而提供的新 API
在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因而可以对外界的访问进行过滤和改写。

扫描二维码关注公众号,回复: 11921456 查看本文章
7.Reflect

ES6 为了操作对象而提供的新 API
Reflect对象的设计目的有这样几个。

  • (1)将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。也就是说,从Reflect对象上可以拿到语言内部的方法。
  • (2) 修改某些Object方法的返回结果,让其变得更合理。比如,Object.defineProperty(obj, name, desc)在无法定义属性时,会抛出一个错误,而Reflect.defineProperty(obj, name, desc)则会返回false。
  • (3) 让Object操作都变成函数行为。某些Object操作是命令式,比如name in obj和delete obj[name],而Reflect.has(obj, name)和Reflect.deleteProperty(obj, name)让它们变成了函数行为。
  • (4)Reflect对象的方法与Proxy对象的方法一一对应,只要是Proxy对象的方法,就能在Reflect对象上找到对应的方法。这就让Proxy对象可以方便地调用对应的Reflect方法,完成默认行为,作为修改行为的基础。也就是说,不管Proxy怎么修改默认行为,你总可以在Reflect上获取默认行为。
8. Promise对象、async函数、Generator 函数

这三种都是ES6 提供的异步编程解决方案,基本使用方式参考:
https://blog.csdn.net/lxy869718069/article/details/106680462

9. class类的概念与继承的概念
10. module的语法以及实现

import 、export 、export default 这几种模块化的导出与导入的引入,以及import()方法的使用

猜你喜欢

转载自blog.csdn.net/lxy869718069/article/details/107039491