码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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,所以会报错
  • 相关阅读:
    顺序表专题
    力扣刷题链表需要调试?一个简单的调试器帮你解决苦恼
    循环语句
    java List remove方法
    力扣每日一题-第59天-806. 写字符串需要的行数
    java计算机毕业设计校园快递联盟系统源码+系统+mysql数据库+lw文档
    LeetCode·376.摆动序列·贪心·动态规划
    [纯理论] FCOS
    【语义分割】数据增强方法(原图与标签同时扩增)
    网络原理——网络层与数据链路层
  • 原文地址:https://blog.csdn.net/qq_17335549/article/details/136244444
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号