【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,所以会报错
相关推荐
不在逃避q1 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁2 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9852 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易2 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师3 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174463 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈3 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen4 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒4 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端
梅孔立5 小时前
两种免费的翻译API调用方式详解 - Edge官方API与个人缓存服务
前端·缓存·edge