Es6笔记 新

  • 说明
    • ECMAScript6
  • 变量声明
    • var
    • let
      • let 在同一作用域不能重复声明
      • let 不会变量提升
      • 局部变量只能在声明let的{}中使用
    • const
      • const 局部 不会变量提升 不能重复声明
      • 声明必须赋值
      • 声明的数据不能修改(值类型)
      • 变量名尽量大写
  • 解构
    • 数组解构
      • 数组解构就是把数组解析为单个变量
      • 通过逗号通过

      • ...接收剩余量

      • 可以给默认值

      • 可以交换变量

    • 对象解构
  • 字符串
    • 遍历 for of
    • 查找
      • includes 是否包含
      • starsWith 以...开头
      • endsWith 以...结尾
    • 补齐
      • padStart 填充在前
        console.log(a.padStart(3, '1'))
      • padEnd 填充在后
        console.log(a.padEnd(3, '_'))
    • 去空白
      • trim 两端
      • trimLeft 左边
      • trimRight 右边
  • 数组
    • sort 排序
    • ES6新增
      • find
        查找符合条件的元素
      • findindex
        查找符合条件的元素下标
    • forEach 遍历
      • forEach(function(item,index,self){})
      • item 当前遍历元素 index 当前元素下标 self 被遍历的数组
    • filter 过滤
    • map 映射
    • reduce 累计
      • reduce(function(a,b){})
      • a 上次返回的结果 b当前元素
    • some 有一个
    • every 每一个
  • 箭头函数
    • 简写

    • =>左侧是参数
    • => 右侧是执行语句也是返回值
    • 如果有多行语句用{},返回用return
    • 如果需要返回对象用({})
    • this
      • 指向上一个作用域
      • 不能作为构造函数
  • 参数
    • 不定参

    • 拓展参

    • 默认参

  • 对象
    • object.assign()合并对象
    • Object.values()获取值的集合
    • ject.keys()获取对象所有键的集合成为一个数组
    • object.create()通过现有对象创建一个新的对象
    • 对象简写
  • module 模块
    • 导出
      • 导出默认
        function a(date) {
        }
        export default a;
      • 导出
        export function reverse() {
        }
      • 导出变量
        export const PRICE = 500;
    • 导入
      • <script type="module"></script>
      • 导入默认
        import a(a方法名) from '相对路径'
      • 导入
        import {reverse} from '相对路径'
      • 导入别名
        import { reverse as r } from './js/1.js';
    • type of class
      结果是Function
      类的本质是函数
    • class Block{}
    • 构造函数
      constructor(){}
      实例化的时候 new关键字调用的就是构造函数
    • super()
      调用父类的构造函数
    • extends
      继承父类的方法
    • static
      类的静态属性和方法
    • 类的this指向的是它的实例(也就是new出来的对象)
  • ES6新增数据类型
    • set 不重复的数组
      • add 添加
      • delete 删除
      • clear 清空
      • size 大小
    • map 任意键对象
      • set(key,value)设置
      • set(key)获取
      • delete 删除
      • size 大小
      • clear 清空
    • weak Set 值都是引用类型的set
    • wrakMap 键都是引用类型
    • symbol 唯一符合(对象的键)
  • 迭代类型
    • 可以for of遍历的对象都是可以迭代对象
      String字符串
      Array数组
      Set集合
      Map图
    • for(let v of myset)
    • for(let k of myArr.key())
    • for(let v of myArr.values())
    • for (let[k,y] of myArr.entries
  • Promise

    • var p=new Promise((resolve,reject)=>{
      //异步状态
      ​resolve(data)
      reject(err)
      })
    • 有三个状态 不可逆
      • pendding
      • resolved
      • rejected
    • 实例p
      • .then(res=>{})
        回调函数获取resolved返回的结果
        返回一个新的promise实例
      • .catch(err=>{})
        获取rejected的原因
    • 解决
      • 异步操作
      • 回调地狱
    • all 全部
    • race 赛跑
      返回最先resolve结果
  • 同步和异步
    • 同步是按顺序从上至下阻塞式执行代码
      (上一行代码不执行完毕,下一行是不会执行)
    • 异步是先执行主线程的代码,再执行其他线程
    • 实现异步的方式
      • 回调函数
      • 事件响应
      • 订阅发布模式
      • Promise
      • sync和await
  • asyn与await
    • async装饰的函数,返回的是一个promise对象 返回的结果是resolved的结果
    • await 用来等待异步的resolve结果 只能出现在async装饰的 函数中
  • generator 生成器
    • 就是在函数前面添加个*

    • function *range(min,max){
      for(var i=min;i<ma;i++
      yield i;
      }
      }
    • 生成器执行的结果是一个迭代器
    • var iter=range(1,10)
    • 迭代器通过next方法返回一个对象,对象的value是yield生成的结果 在生成器里面 遇到yield就停止等待下一次next调用

    • {value:1,done:false}
      ......
      {value:undefined,done:true}
    • 可以通过for来遍历迭代器
      for(v of range(1,100){
      console.log(v)
      }
    • String,Array,Set,Map的迭代器
      arr[Symbol.iterator]()
  • Object.defineProperty
    • 可以定义对象的某个属性
  • proxy
    代理对象
    • target目标对象
    • handle处理器

      • set(target,property,value){
        //拦截set
        }

      • get(target,property){
        //拦截set
        return target[property]
        }
      • var proxy=new Proxy(target,handel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值