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

为什么ES6会输出这个结果
在ES6中,static表示方法或属性属于类本身,而非实例。在提供的代码中,Parent类具有static myMethod和myMethod,而Child类继承了这些方法。
执行过程
- Child.myMethod(1)调用static myMethod,因为该方法用static修饰,属于类本身。结果:static 1。
- var child = new Child();创建一个Child类的实例。
- child.myMethod(2)调用实例方法myMethod,因为它没有static修饰,属于实例。结果:instance 2。
关键概念
静态方法:用static修饰的方法,属于类本身,而不是实例。
实例方法:不使用static修饰的方法,属于实例。
super:用于访问父类的方法或属性,具体指向取决于静态还是实例方法。
原型链:当查找方法或属性时,JavaScript会沿着类链一路向上查找,直到找到或报出错误。
以上就是《为什么ES6中Child.myMethod(1)调用static方法而child.myMethod(2)调用实例方法?》的详细内容,更多关于的资料请关注米云公众号!
- Vue.js中“和“兼容性问题如何解决?
