JavaScript | Function コンストラクタを使って関数を定義する

JavaScript JavaScript
スポンサーリンク

主な内容の要点

JavaScript では function キーワード以外にも、Function コンストラクタを使って関数を作れる。ただし、実際の開発ではあまり使われない方法なので「こういう書き方もある」と知っておけば十分。


ポイント整理

  • 関数はオブジェクト
    JavaScript の関数は「Function オブジェクト」の一種。
  • 書き方の基本
let 関数変数 = new Function('引数1', '引数2', '処理内容');
JavaScript

引数や処理内容は 文字列 で書く必要がある。
new は省略可能。

  • 例:足し算をする関数
let add = new Function('x', 'y', 'return x + y;');
console.log(add(3, 4)); // 7
JavaScript
  • 複数の処理を書くとき
    セミコロン ; で区切って 1 つの文字列にまとめる。
let f = new Function('x', 'y', 'let sum = x + y; console.log(sum); return sum;');
JavaScript
  • 呼び出し方
    普通の関数と同じように 関数名(引数) で呼び出す。
  • 注意点
    • 引数や処理を「文字列」で書くため、可読性が低くエラーも見つけにくい
    • セキュリティ上のリスク(文字列を実行する=evalに近い動作)もある。
    • そのため、通常は function 宣言や関数リテラルを使うのが推奨

初心者へのアドバイス

  • Function コンストラクタは「裏技的な書き方」で、普段は使わない。
  • 実際のコードでは次のように書くのが基本: function add(x, y) { return x + y; }
  • まずは function 宣言アロー関数をしっかり理解することが大切。

👉 まとめると、「Function コンストラクタでも関数は作れるけど、実務ではほぼ使わない。知識として知っておけばOK」という位置づけです。

タイトルとURLをコピーしました