タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

classに関するledsunのブックマーク (1)

  • ES6のclassは巻き上げがされない - 素人がプログラミングを勉強していたブログ

    ちょっとハマったのでメモ。 例えば alert(A); function A() { } はできるが、 alert(A); class A { } ができないのはなぜか。 class A { } class B extends A { } 例えば、このようなコードの場合、hoisting(スコープ先端への巻き上げ)をしても問題ないが、 関数と違ってextendsはその場で評価しなければいけないことがある。 例えば、 var A = function () { }; A.prototype.x = function () { return 1; }; class B extends A { } alert(new B().x()); というコードの場合、BクラスはAを継承しなければいけないので、var Aで宣言されているものはhoistingされないのでclass宣言もその場で評価しないと、

    ES6のclassは巻き上げがされない - 素人がプログラミングを勉強していたブログ
    ledsun
    ledsun 2015/03/25
    継承する時点のsuper class見るので巻き上げできない。/この理論だと、関数内でグローバル変数を参照してたら、関数の巻き上げもできないのでは?
  • 1