「関数リテラル」の版間の差分
提供: Node.js/JavaScript入門
(ページの作成:「関数リテラルfunction literal)とは、匿名関数、無名関数、ラムダ式と呼ばれます。 '''読み方''' ;関数リテラル:かんすう り...」) |
|||
行1: | 行1: | ||
− | [[関数リテラル]]function literal)とは、匿名関数、無名関数、ラムダ式と呼ばれます。 | + | [[関数リテラル]](function literal)とは、匿名関数、無名関数、ラムダ式と呼ばれます。 |
'''読み方''' | '''読み方''' |
2014年8月31日 (日) 21:22時点における最新版
関数リテラル(function literal)とは、匿名関数、無名関数、ラムダ式と呼ばれます。
読み方
- 関数リテラル
- かんすう りてらる
- function literal
- ふぁんくしょん りてらる
概要
以下のコードは、関数リテラルの例です。変数 square には、関数への参照が格納されます。
var square = function(x) { return x * x; };
関数リテラル(無名関数)のメリット
無名関数を用いることで、名前空間における衝突を回避できます。
関数リテラルの宣言
通常の関数定義は、以下の通りです。
function square(x) { return x * x; };
上記の関数を関数リテラルとして定義する場合には、以下の通りです。
var square = function(x) { return x * x; };
Function()を使用して、同様の定義を行えます。
var square = new Function("x", "return x * x;");
なお、上記のFunction()での定義は、jshintで下記のエラーが出ます。
The Function constructor is a form of eval.
関数リテラルの実行結果を返す例
以下の例では、変数 add に関数リテラルの参照が格納されます。
var add = function(x,y) { return x + y; };
参照ではなく、実行した結果が欲しいだけの場合があります。関数リテラルを実行して、戻り値を変数に格納するには、関数リテラルの宣言の後ろに()をつけます。
var total = function(x,y) { return x + y; } (1,2);
この例では、変数 total に関数リテラルを実行した結果得られた3が格納されます。
たとえば、こういったこともできます。
(function(x,y){return x+y;})(1,2) == 3
関連項目
- 関数リテラル
- オブジェクト