- 箭头函数是 es6 提出的
- this 指针指向 定义箭头函数的全局上下文或函数上下文,是固定的
- call\apply\bind无法改变箭头函数的this
- 没有 arguments 对象,但是可以访问外部作用域中的 arguments 对象
- 没有 prototype 属性
- 不能用作 generator 函数,不能使用 yeild 关键字
- 如果只有一个参数或返回语句时,语法可以简化去掉花括号
- 不能用 new 操作符会报错,也就是说不能用作构造函数
- 错误信息 fun is not a constructor
- new 操作符的原理
- 定义一个js 的对象 obj,【使用过 Object.create】
- 将 obj 的 __proto__属性【也就是[[prototype]]】指向构造函数的prototype属性【使用 apply方法】
- 将 this 指向刚创建的 this,【使用 apply方法】
- 如果函数没有返回对象【返回值需要是对象】,就返回 obj 也就是 this
- 第二,三可以使用 apply 方法一行代码实现,参考手写new 操作符
- 上面的第2、3步,箭头函数没有原型对象,也无法设置this,所以会报错
【es6】解决箭头函数所有的问题,箭头函数的 this 指针,使用 new 操作符
我有一棵树2024-02-26 21:58
相关推荐
hj5914_前端新手3 小时前
javascript基础- 函数中 this 指向、call、apply、bind薛定谔的算法3 小时前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构Hilaku3 小时前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?yangcode3 小时前
iOS 苹果内购 Storekit 2LuckySusu3 小时前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题LuckySusu3 小时前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析LuckySusu3 小时前
【js篇】深入理解 JavaScript 作用域与作用域链LuckySusu3 小时前
【js篇】call() 与 apply()深度对比LuckySusu3 小时前
【js篇】addEventListener()方法的参数和使用该用户已不存在3 小时前
6个值得收藏的.NET ORM 框架