登录
首页 >  文章 >  前端

为什么ES6中Child.myMethod(1)调用static方法而child.myMethod(2)调用实例方法?

时间:2024-11-23 21:48:57 379浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《为什么ES6中Child.myMethod(1)调用static方法而child.myMethod(2)调用实例方法?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

为什么ES6中Child.myMethod(1)调用static方法而child.myMethod(2)调用实例方法?

为什么ES6会输出这个结果

在ES6中,static表示方法或属性属于类本身,而非实例。在提供的代码中,Parent类具有static myMethod和myMethod,而Child类继承了这些方法。

执行过程

  1. Child.myMethod(1)调用static myMethod,因为该方法用static修饰,属于类本身。结果:static 1。
  2. var child = new Child();创建一个Child类的实例。
  3. child.myMethod(2)调用实例方法myMethod,因为它没有static修饰,属于实例。结果:instance 2。

关键概念

静态方法:用static修饰的方法,属于类本身,而不是实例。

实例方法:不使用static修饰的方法,属于实例。

super:用于访问父类的方法或属性,具体指向取决于静态还是实例方法。

原型链:当查找方法或属性时,JavaScript会沿着类链一路向上查找,直到找到或报出错误。

以上就是《为什么ES6中Child.myMethod(1)调用static方法而child.myMethod(2)调用实例方法?》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>