2017-06-14 20 views
0
class Foo extends Bar { 
    constructor() { 
    super(); 
    } 
} 

superはコンストラクタ関数(別名クラス)を呼び出すBarprototypeチェーンをどのように拡張するのですか?

のプロトタイププロパティであるBar.prototypeが構成されていますか?

クラスメソッド(およびリテラルメソッド)superは、Bar(参考資料)のインスタンスへの参照として使用できます。コンストラクタで(呼び出し可能なだけでなく)同じ方法で使用できますか?

class/extendを伝統的なコンストラクタ関数/ [[Prototype]]という用語にマップしようとしています。

これは、次のようなものですか?

function Bar() {} 
function Foo() { 
    Bar.call(this); 
} 
Foo.prototype = Object.create(Bar.prototype); 
+1

https://jsfiddle.net/v5yf8e3u/1/ – haim770

+1

最も信頼できるソースは、翻訳されたjavascriptコードです。Seeここ:\t goo.gl/AeJuCY –

答えて

0

superは、コンストラクタ関数(別名クラス)Barを呼び出していますか?

はい

Fooのprototypeプロパティになるように構成Bar.prototypeですか?

なし、その[[Prototype]]Bar.prototype持つオブジェクトは、Fooprototypeのプロパティに構成されています。 class方法(およびリテラル方法)において

superバー(と思う)のインスタンスへの参照として使用することができます。コンストラクタで(呼び出し可能なだけでなく)同じ方法で使用できますか?

号及び方法において、スーパーはすなわちBarprototype財産([[Prototype]] AFAICTの[[Prototype]]を指します。

をだから、次のように似ているのですか?

はい

関連する問題