2018年06月01日
川俣晶の縁側ソフトウェア技術雑記 total 2683 count

TypeScriptの静的メソッドを呼び出したときthisの値が変化する

Written By: 川俣 晶連絡先

問題 §

TypeScriptの静的メソッドを呼び出したときthisの値が状況によって変化して一定しない

その結果、インテリセンスが提示する候補が実行時に見つからないことがある

検証コード §

class X {

    static sub() {

        console.log(this);

    }

}

class Y {

    static sub2(proc:()=>void) {

        proc();

    }

}

X.sub();

Y.sub2(X.sub);

実行結果 (TypeScript 2.8) §

function X() {    ←1回目のX.sub()の出力

    }             ←1回目のX.sub()の出力

[object Window]   ←2回目のX.sub()の出力

原因 §

不明

対策 §

thisは使わない