HOWTO · JavaScript

JavaScript Get 関数名

関数名を取得するには、ES6 で最も推奨される方法は Function.prototype.name を使用することです。 また、関数をオブジェクトに割り当てて呼び出し、関数のインスタンスを作成し、関数の名前を取得しようとすることで、関数名を取得できます。

このページの内容

このチュートリアルでは、JavaScript で関数の名前を取得する 3つの方法を示します。

JavaScript で関数の名前を取得する

JavaScript では、関数の名前を取得する方法がいくつかあります。 ただし、多くの場合、何が実行されているかに関して明確に定義する必要があります。

コード行はわずかですが、重要なアプリケーション価値があります。 デバッグや修正は、機能に基づいて実装されることがよくあります。

ここで示した例では、指定された関数の名前を定義する 3つの方法を示します。 まず、関数宣言の直後に名前を取得します。

後で、オブジェクトの下に関数を割り当てて、オブジェクトと関数を呼び出します。 次に、関数名を取得します。

関数名を取得する最も優れた方法は、関数のインスタンスを使用することです。 そのインスタンスのコンストラクタ名を利用すると、関数名が返されます。 それでは、それらをチェックしてみましょう。

宣言の直後に関数名を取得する

ここで、関数を開始します (コンテンツの有無にかかわらず)。 最も重要な部分は関数名です。

したがって、functionName.name を適用すると、name プロパティは functionName を返します。 次のコードでタスクを視覚化しましょう。

コードスニペット:

function foo() {
  var x = 1;
}
console.log(foo.name);

出力:

"foo"

オブジェクトで関数名を取得

次の リンク では、関数と Function.prototype.name プロパティについて詳しく説明しています。

オブジェクトを介して関数の名前を取得する場合、オブジェクトを開始し、関数宣言をその内容として割り当てます。 後で、オブジェクトを object.function.name で呼び出します。

理解を深めるために、次のコードを実行してみましょう。

コードスニペット:

var obj = {
  foo2() {
    var y = 5;
  },
};
console.log(obj.foo2.name);

出力:

"foo2"

関数名をコンストラクターとして取得する

関数を定義し、後でその新しい関数のインスタンスを作成します。 これを行うことで、function を実行するその関数のオブジェクトが作成されました。

ここで、instance.constructor.name を実行すると、このインスタンスを作成した関数名が取得されます。 コードはより論理的に話すので、飛び込みましょう!

コードスニペット:

function foo3() {
  var z = 10;
}

var instance = new foo3();
console.log(instance.constructor.name);

出力:

"foo3"