【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,所以会报错
相关推荐
运筹vivo@7 小时前
攻防世界:Web_php_unserialize
前端·web安全·php
Jiangnan_Cai7 小时前
【Electron】Windows 下打包遇到 dist/unpacked 文件内 electron.exe 文件缺失问题
前端·javascript·electron
自不量力的A同学7 小时前
Electron 40.0.0 发布,跨平台桌面应用开发工具
前端·javascript·electron
Charlie_lll7 小时前
学习Three.js–材质(Material)
前端·three.js
Kratzdisteln7 小时前
【1902】预先生成完整的树状PPT结构
java·前端·powerpoint
深耕AI7 小时前
【wordpress系列教程】05 文章分类与标签
前端
michael_ouyang8 小时前
WebSocket 鉴权方案选型与 Electron 应用的最佳实践
前端·websocket·网络协议·electron
xixixin_8 小时前
【vue】中字符串与数组转换:为何首选 Computed 而非 Methods?
前端·javascript·vue.js
Sylvia33.8 小时前
网球/羽毛球数据API:专业赛事数据服务的技术实现
java·前端·websocket·json
向下的大树8 小时前
VUE父子组件传参中的触发时机问题:异步场景下的解决方案
前端·javascript·vue.js