【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,所以会报错
相关推荐
_山海25 分钟前
Bun入门指南
前端·javascript·后端
想睡懒觉31 分钟前
我用 CSS 3D 做了个星空隧道 Loading,没有 Three.js
前端
labixiong35 分钟前
transition 写在 CSS 变量上为什么不生效?给变量补张「类型身份证」
前端·css·html
YHL42 分钟前
🧠 Agent 记忆进阶:总结压缩与向量检索 —— 从截断到 Milvus 长期记忆
前端·人工智能
用户921080262861 小时前
前端 Vue 专栏 05:从 Object.defineProperty 到 Proxy,彻底理解 Vue 响应式原理
前端
Fluxart.ai1 小时前
GPT Image 2.5 有使用次数限制吗?额度、并发、频率限制说明
服务器·前端·gpt
程序员海军1 小时前
AI 越来越强,为什么打工人反而越来越累、越来越内耗了?
前端·程序员·aigc
晴天162 小时前
VSCodium 项目介绍
前端·javascript·vscode
世岩清上2 小时前
展厅数字内容同质化严重,怎样打造专属叙事风格?
大数据·前端·javascript·人工智能·html·音视频·展厅改造