JavaScriptで文字列名を使用して関数を実行する方法


  1. eval()関数を使用する方法: eval()関数は、渡された文字列をJavaScriptコードとして実行します。以下は、文字列名を使用して関数を実行する方法です。
function greet() {
  console.log("Hello, world!");
}
var functionName = "greet";
eval(functionName + "()"); // 関数名を文字列としてeval()関数に渡すことで実行する
  1. windowオブジェクトを使用する方法: 関数はグローバルスコープで定義されている場合、windowオブジェクトを介してアクセスできます。次のコードは、windowオブジェクトを使用して関数を実行する方法を示しています。
function greet() {
  console.log("Hello, world!");
}
var functionName = "greet";
window[functionName](); // 関数名を変数としてwindowオブジェクトに渡すことで実行する
  1. オブジェクトを使用する方法: 関数がオブジェクトのメソッドとして定義されている場合、オブジェクトを介して関数を実行することもできます。以下はその例です。
var obj = {
  greet: function() {
    console.log("Hello, world!");
  }
};
var functionName = "greet";
obj[functionName](); // オブジェクトを介して関数を実行する

これらの方法を使用することで、JavaScriptで文字列名を使用して関数を実行することができます。ただし、eval()関数の使用は注意が必要であり、セキュリティ上のリスクがあるため、慎重に使用する必要があります。