ホームページ >ウェブフロントエンド >jsチュートリアル >実行時に決定される名前を持つ名前付き関数を JavaScript で作成できますか?

実行時に決定される名前を持つ名前付き関数を JavaScript で作成できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-14 10:09:01678ブラウズ

Can You Create a Named Function in JavaScript with a Runtime-Determined Name?

評価なしで実行時に決定される名前を持つ関数を作成する

質問:

可能ですかeval や非標準機能を使用せずに純粋な JavaScript で名前付き関数を作成するには、関数名前は実行時に決定されますか?

答え (ES6 のみ):

はい、ES6 以降 (別名「ES2015」) では、匿名関数式を使用してこれが可能です。計算されたオブジェクトのプロパティ名に割り当てられます。

const dynamicName = "foo" + Math.floor(Math.random() * 1000);
const obj = {
    [dynamicName]() {
        // ...
    },
};
const f = obj[dynamicName];
console.log("Function's `name` property: " + f.name); // Outputs "foo###", where ### is a random 1-3 digit number

この例では、計算されたプロパティ名を使用します関数のランダムな名前を動的に生成します。関数はオブジェクト プロパティに割り当てられ、その名前には name プロパティを介してアクセスできます。ただし、ブラウザの互換性は異なる場合があり、一部のブラウザではスタック トレースに動的関数名が表示されない場合があることに注意してください。

以上が実行時に決定される名前を持つ名前付き関数を JavaScript で作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。