ES6总结

一 . ECMAScript与JavaScript的关系
前者是后者的规格 后者是前者的一种实现

二.es6基本操作内容
1.let变量的特点
1).块级变量

    2).不存在变量提升

    3).暂时性死区(会造成原有函数的功能失效)

    4).不允许重复声明

2.什么是解构赋值
从数组和对象中提取值,对变量进行赋值

3.indexof 和 includes 的区别
indexof (): 可以返回某个指定字符串的值在字符串中首次出现的位置

    includes():用来判断一个数组是否包含一个指定的值,如果是返回true,如果不是返回false

4.箭头函数使用的注意事项
1).箭头函数没有自己的this对象

    2).不可以用于构造函数 不能使用new命令,否则会报错

    3).不可以使用arguments对象,该对象在函数体内不存在,如果要用必须用rest参数代替

    4).不可以使用yield命令,不能用作generator函数

5.数组新增的两种方法
1).lis.forEach((v,k)=>{ })

    2).lis.filter((v,k)=>{ })

6.Symbol与Symbol.for的区别
Symbol : 属性名属于symbol类型的都是独一无二的,可以保证不会和其他属性名发生冲突

    Symbol.for :  Symbol.for赋值,在声明之前如果没有就是独一无二的值,如果有就是相同值

    区别:symbol.for会被登记在全局环境中供搜索,symbol不会

            symbol.for不会每次调用就返回一个新的symbol值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值

7.Set 和 Map 格式的操作方法
set 类似于数组,但是成员的值都是唯一的,没有重复值

设置set属性构造函数需要用new生成 new set()

set的操作方法
add(value) 增加
delete(value) 删除
has(value) 查看
clear() 清空
size 查看长度

    map的操作方式:

            set( )     添加  ==  set.add()
            get( )     获取
            size( )    长度
            delete( )  删除 
            clear( )   清空

三 . proxy对象
proxy对象–代理器,是es6新增数据的一种拦截器,就是访问对象前必须走过proxy设置的拦截

    通过构造函数生成:var proxy = new proxy({源对象},{设置拦截规则});

    常用方法  get 获取规则   格式 :

get设置规则 格式 :
get(target,key){
// 参数一代表源对象
// 参数二代表指定的下标
}

set设置规则 格式 :
set(target,key,val){
// 参数一代表源对象
// 参数二代表指定下标
// 参数三代表指定的值
}

deleteProperty删除规则 格式 :
delete 删除对象中的指定属性
deleteProperty(target,key){
// 参数一代表源对象
// 参数二代表指定下标
}

        ps : 需要通过proxy对象调用才会产生效果,proxy对象改变时,源对象会一起改变

四 . Reflect对象
reflect对象与proxy对象一样,都是ES6为了操作对象而提供的新API

    概述 : 1) 把对象中的方法都设置到reflect中,从reflect中可以拿到语言内部的方法

              2) 修改对象的返回结果,让其变的更合理,不会终止代码运行

              3) 统一标准,让操作都变为函数

              4) reflect与proxy对象的方法时一 一对应的,使用方便

            举例 : console.log( obj.names );    //老

                      console.log( Reflect.get(obj,'' names '') )      //新

五 . promise对象
promise对象是异步编程的一种解决方案,比传统的解决方案— —回调函数和事件 更合理和更强大。

    1 . 回调地狱

            在前一个异步操作的回调函数中调用后一个一步操作,当异步操作越多,这种嵌套的层级就越复杂 ,就产生了回调地狱

    2.promise生成

new Promise( function (resolve,reject ){
resolve代表成功 reject代表失败
})
.then(res=>{
成功
})
.catch(rej=>{
失败
})
3 . promise的三种状态 :pending(进行中) fulfilled(已成功) rejected(已失败)

    4 . 方法 : promise.all()        promise.race()

六 . iterator遍历器与for…of循环
目的 : 为所有的数据结构提供一个统一的访问机制

              为对象加入iterator遍历器,可以用for...of的方式遍历对象

    ES6规定,默认的iterator接口部署在数据结构的symbol.iterator属性,或者说一个数据结构只要具有symbol.iterator属性,就可以认为是''可遍历的''

    Symbol.iterator属性本身是一个函数,就是当前数据结构默认的遍历器生成函数

七 . generator函数
generator函数是ES6提供的一种异步编程解决方案,功能让函数内部停止,通过next()与yield配合,实现手动操作函数的运行
格式 :

function * hellogenerator(){
yield ‘hello’;
yield ‘world’;
return ‘aaa’;
}
八 . class类
基本格式 :

class point{
constructor(x,y){ //构造方法
this.x = x;
this.y = y;
}
}
————————————————
版权声明:本文为CSDN博主「L.♞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/L1993746181/article/details/121951380

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值