为什么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)调用实例方法?的详细内容,更多请关注其它相关文章!