鍍金池/ 問答/HTML/ es6 的class里面的super關(guān)鍵字作為函數(shù)調(diào)用時(shí),參數(shù)有什么意義

es6 的class里面的super關(guān)鍵字作為函數(shù)調(diào)用時(shí),參數(shù)有什么意義

es6的class類里面,super作為函數(shù)使用時(shí),它的參數(shù)有什么用。如:

class A {
  constructor() {
    this.a = 1
  }
}
class B extends A {
  constructor(props) {
    console.log(props, 'pre')
    super('a', 'b', 'c')//這里super的參數(shù)有什么用?
    console.log(props, 'props')
    console.log(this, 'this')
  }

  say() {
    console.log(this, 'this')
  }
}
var b = new B({b1: 1, b2: 2})
b.say()

super傳任意參數(shù),并沒有對(duì)B這個(gè)類造成什么影響(props,this都沒有變化),那這個(gè)參數(shù)到底有什么用?

回答
編輯回答
離夢(mèng)

不得不說,題主的問題我想都想不來……

有沒有用你得根據(jù)語法分析來看,A 的構(gòu)造函數(shù)沒有接受參數(shù),你傳參進(jìn)去當(dāng)然什么影響都沒啊。好比說你肚子餓了,然后你揉了揉眼,哎呀,還是餓,揉眼真是沒用啊,這哪兒跟哪兒也不挨著啊……

2017年1月11日 16:55
編輯回答
痞性

可以看看這篇回答,比較詳細(xì)

https://segmentfault.com/q/10...
2018年5月31日 19:17
編輯回答
爛人

調(diào)用super()方法,代表調(diào)用父類的構(gòu)造函數(shù),其中的傳參相當(dāng)于給父類的構(gòu)造函數(shù)傳參,而你的父類構(gòu)造函數(shù)中沒有形參,所以就沒用啦

2017年2月21日 13:35