【es6】解决箭头函数所有的问题,箭头函数的 this 指针,使用 new 操作符

  1. 箭头函数是 es6 提出的
  2. this 指针指向 定义箭头函数的全局上下文或函数上下文,是固定的
  3. call\apply\bind无法改变箭头函数的this
  4. 没有 arguments 对象,但是可以访问外部作用域中的 arguments 对象
  5. 没有 prototype 属性
  6. 不能用作 generator 函数,不能使用 yeild 关键字
  7. 如果只有一个参数或返回语句时,语法可以简化去掉花括号
  8. 不能用 new 操作符会报错,也就是说不能用作构造函数
    1. 错误信息 fun is not a constructor
    2. new 操作符的原理
      1. 定义一个js 的对象 obj,【使用过 Object.create】
      2. 将 obj 的 __proto__属性【也就是[[prototype]]】指向构造函数的prototype属性【使用 apply方法】
      3. 将 this 指向刚创建的 this,【使用 apply方法】
      4. 如果函数没有返回对象【返回值需要是对象】,就返回 obj 也就是 this
      5. 第二,三可以使用 apply 方法一行代码实现,参考手写new 操作符
    3. 上面的第2、3步,箭头函数没有原型对象,也无法设置this,所以会报错
相关推荐
q***649729 分钟前
头歌答案--爬虫实战
java·前端·爬虫
凌波粒29 分钟前
SpringMVC基础教程(4)--Ajax/拦截器/文件上传和下载
java·前端·spring·ajax
液态不合群1 小时前
DDD驱动低代码开发:从业务流程到领域模型的全链路设计
前端·低代码·架构·ddd
jonyleek1 小时前
JVS低代码开发中,如何创建自定义前端页面并接入到现有系统中,从创建到接入的全攻略
前端·低代码·前端框架·软件开发
谢尔登2 小时前
【React】React组件的渲染过程分为哪几个阶段?
前端·javascript·react.js
MediaTea2 小时前
Python 第三方库:Flask(轻量级 Web 框架)
开发语言·前端·后端·python·flask
5***o5002 小时前
前端构建工具缓存清理,解决依赖问题
前端·缓存
lcc1872 小时前
Vue Vue与VueComponent的关系
前端·vue.js
无敌最俊朗@2 小时前
Vue 3 概况
前端·javascript·vue.js
摆烂工程师3 小时前
今天 Cloudflare 全球事故,连 GPT 和你的网站都一起“掉线”了
前端·后端·程序员