Es6与javascript5基本区别

it2023-02-15  82

Es6与javascript5基本区别

let const var三者区别

let const 两者都有作用域 且没有变量提升var具有变量提升 可重复定义 赋值等操作let定义完成  不可重新定义该变量 可改变值const不可重复定义 且定义基本数据类型的值不可改变  

箭头函数

与普通函数相比,箭头函数的实用性会更高普通函数this指向问题比较复杂 大概分为以下几种情况 全局调用:指向window事件源调用:指向事件源本身 例如button单击事件 改变this指向的方法 大概分为以下三种,三者效果一样 不同之处在于所传递的参数不同 bind()apply()call()

基本数据类型

javascript中有六大数据类型 分别为 String Number Boolean undefined null Object,Object中分为Array Object functionEs6中新增symbol对象类型 该类型确定了对象的唯一性 即使两个相同的对象进行比较 结果也是false

Set Map对象

Set类数组对象 Set中的值具有唯一性,可用于去重语法 new Set()Set实例的方法分为两大类:操作方法:.add()用于添加操作 .delete()用于删除操作 .has()用于判断当前有没有这个值 .clear()清除所有值;遍历方法:.keys():返回键名的遍历器 .values():返回键值的遍历器 .entries():返回键值对的遍历器 .forEach():使用回调函数遍历每个成员Set实例的结构属性:.size()获取实例的长度 .constructor()获取构造函数 Map对象 Map中的key值可以为任意值 在javascript中对象的key值只能为String语法 new Map()Set实例的结构属性:.size()获取实例的长度Map实例的方法:.set()用于设置值 .get()用于获取值 .delete用于删除 .has用于判断

新增遍历方法

forEach():传递的参数为一个回调函数 例如:forEach(v=>{})map():传递的参数为一个回调函数 配合return使用filter():传递的参数为回调函数 返回的是一个新数组some():查找有没有符合规则的数据 如果有返回true 反之every():查找有没有不符合规则的数据 只要有一个不符合 返回falsefind():从头开始查找 匹配一次  若无正确匹配 返回undefinedfindIndex():查找下标 正确返回该下标 查找不到 返回-1for...of():跟平常使用的遍历方法大致相同

解构赋值

解构赋值可直接按字面意思理解 首先把对象解构出来 重新赋值给对方 例如:var a = [1,2,3] var b = [...a]  打印b的结果为[1,2,3] 解构赋值可大大简化操作

扩展运算符  。。。

不好解释  直接上代码   例如 var [a,b,...c]=[1,2,3,4,5,6] 打印c的结果为3 4 5 6 

Class  定义类

两大编程思想 :面向过程以及面向对象 面向过程:按照具体步骤一步步实现  缺点 维护起来比较麻烦 可重复性不强面向对象:确定对象  确定对象所具备的功能 加以封装    三大特性 封装  继承 多态 语法 class Name{}  Name 为定义的类名 一般首字母大写 new Name()实现实例类constructor()构造函数  当你实例类时 会自动调用该函数在定义的类中 需注意this指向问题 继承 extends 语法 class Son extends Father{}如果需要使用父类中的方法需要在构造函数中super()
最新回复(0)