在 ECMAScript 2020 中,类继承中的 super 方法被改进了。在之前的版本中,我们只能使用 super 关键字来调用父类的方法,现在我们可以使用 super 关键字来作为对象访问其父类的属性和方法。这篇文章将会详细解释这个改进,并且通过示例代码演示它的使用。
super 方法的改进
在 ES6 中,我们可以使用 super 关键字来调用父类的方法:
-- -------------------- ---- ------- ----- ------ - ------------- - --------- - --------- - ---------- - ------------------ ---- --------------- - - ----- ----- ------- ------ - ------------- - -------- --------- - -------- - ---------- - ----------------- -- ----- -------- -- ------------------ ----- ---- --------------- - - ----- ----- - --- -------- ----------------- -- -------- ---- ------ -- ----- ----- ---- -----
在这个例子中,我们使用 super.sayHello() 来调用父类的 sayHello 方法。
在 ES11 中,我们可以使用 super 关键字来访问其父类的属性和方法。在之前的版本中,我们只能使用 this 关键字来访问自身的属性和方法,现在我们可以通过 super 关键字来访问父类的属性和方法。下面的例子演示了如何使用 super 关键字来访问父类的属性和方法:
-- -------------------- ---- ------- ----- ------ - ------------- - --------- - --------- - ---------- - ------------------ ---- --------------- - --- --------- - ------ ------- --------------- - - ----- ----- ------- ------ - ------------- - -------- --------- - -------- - ---------- - ----------------- ------------------ ----- ---- --------------- - --- --------- - ------ -------------- - - ----- ----- - --- -------- ----------------- -- -------- ---- ------ -- ----- ----- ---- ----- --------------------------- -- --------- -------
在这个例子中,我们可以使用 super 关键字来访问父类的属性和方法。在 Child 类中,我们定义了一个 message 属性来返回父类的 message 属性。在 getter 中,我们使用了 super.message 来访问父类的 message 属性。
学习和指导意义
这个改进让我们能够更加方便地访问父类的属性和方法。特别是在复杂的继承结构中,使用 super 关键字可以让我们更加方便地继承父类的属性和方法,从而减少代码的复杂度。
尽管这个改进的使用场景不是很多,但是它使得类的继承更加方便和灵活,也为使用者提供了更多的选择和控制。
总结
在本文中,我们详细解释了 ES11 中新增的类继承中 super 方法的改进,并通过示例代码演示了如何使用 super 关键字来访问父类的属性和方法。这个改进使得类的继承更加方便和灵活,也为使用者提供了更多的选择和控制。希望本文能够帮助你更好地理解和应用这个改进。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66576d8cd3423812e4cc08f7