スタートページ>
Javascript>
CoffeeScript
CoffeeScriptの概要←
(1)変数の指定←
(2)制御命令←
CoffeeScript文法の基本(3)関数→
(4)クラス
関数記述の一般構造 引数のオプション指定 関数の階層化
CoffeeScript # 引数なし、戻り値なし 関数A = -> alert "関数A結果" return 関数A() # 引数あり、戻り値なし 関数B = (x) -> y = 2+x alert "#{y}" return 関数B(5) # 引数なし、戻り値あり 関数C = -> y = 10 alert 関数C(); # 引数あり、戻り値あり 関数D = (x) -> if x >= 0 y = x + x else y = x * x alert 関数D 5 alert 関数D -5 |
JavaScript var 関数A, 関数B, 関数C, 関数D; // 引数なし、戻り値なし 関数A = function() { alert("関数A結果"); }; 関数A(); // 関数A結果 // 引数あり、戻り値なし 関数B = function(x) { var y; y = 2 + x; alert(`${y}`); }; 関数B(5); // 7 // 引数なし、戻り値あり 関数C = function() { var y; return y = 10; }; alert(関数C()); // 10 // 引数あり、戻り値あり 関数D = function(x) { var y; if (x >= 0) { return y = x + x; } else { return y = x * x; } }; alert(関数D(5)); // 10 alert(関数D(-5)); // 25 |
CoffeeScript 関数A = (x, y, z=0) -> 合計 = x + y + z alert 関数A(1, 2, 3) alert 関数A(1, 2) 関数B = (x...) -> 合計 = 0 for xi in x 合計 += xi return 合計 alert 関数B(1, 2, 3) |
JavaScript var 関数A, 関数B; 関数A = function(x, y, z = 0) { var 合計; return 合計 = x + y + z; }; alert(関数A(1, 2, 3)); // 6 alert(関数A(1, 2)); // 3 関数B = function(...x) { var i, len, xi, 合計; 合計 = 0; for (i = 0, len = x.length; i < len; i++) { xi = x[i]; 合計 += xi; } return 合計; }; alert(関数B(1, 2, 3)); // 6 |
主関数 関数 の引数で タイプ="A" を指定すれば内部関数 関数A (x+y)、"B" とすれば 関数B(x*y) を行うような処理です。
CoffeeScript 関数 = (タイプ, x, y) -> 関数A = -> return x + y 関数B = -> return x * y if タイプ is "A" then 結果 = 関数A() if タイプ is "B" then 結果 = 関数B() return 結果 alert 関数("A", 2, 3) alert 関数("B", 2, 3) |
JavaScript var 関数; 関数 = function(タイプ, x, y) { var 結果, 関数A, 関数B; 関数A = function() { return x + y; }; 関数B = function() { return x * y; }; if (タイプ === "A") { 結果 = 関数A(); } if (タイプ === "B") { 結果 = 関数B(); } return 結果; }; alert(関数("A", 2, 3)); // 5 alert(関数("B", 2, 3)); // 6 |