読者です 読者をやめる 読者になる 読者になる

フロントサイドエンジニアという選択肢

HTMLコーダー → ECサイト運営 → システムエンジニア という経歴の著者がフロントサイトエンジニアという職業に今後の活路を見出し、その道に進むために取得した技術を貯めておくブログ

(Javascript)ミックスインでthisを使う

Javascriptでは、関数内に他の関数を読み込んで使用することをミックスインといいますが、ミックスイン用の関数内でthisを使うことで呼び出し元の情報を取得することが出来ます。

// コンストラクタの名前を表示する関数
// ミックスイン用のため単体では使用できない
function getConstructorName()
{
    // この関数の呼び出し元がthisになるので、コンストラクタからの呼び出しが必須
    document.write(this.constructor.name);
}

// ミックスインを行うためのコンストラクタ
function mixedFunction()
{
    // ミックスイン
    this.callmethod = getConstructorName.call(this);
}

// インスタンス化とメソッド呼び出し。
var obj = new mixedFunction();

obj.callmethod(); // mixedFunction