山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで その4

Chapter 4 くり返し利用するコードを 1 箇所にまとめる - 関数 -

今回から関数について学びます。

アロー関数

ES2015 で導入されたアロー関数です。

var area = (a, b) => a * b;
var s = area(3, 4);
console.log(s);

変数のスコープ

var で宣言された変数は、そのスコープ内で決まるので、次のような結果が得られます。

var a = 'a';
function print() {
  var a = 'b';
  console.log(a); 
}
console.log(a); // a
print(); // b

また、次のように記述すると、undefined となります。

var a = 'a';
function print() {
  console.log(a); 
  var a = 7; 
}
console.log(a); // a
print(); // // undefiend

let

var と let の違いはブロックスコープに対応しているかどうかです。

if (true) {
  var k = 10;
}
console.log(k); // 10
if (true) {
  let t = 11;
}
console.log(t); // エラー

引数

JavaScript では関数の引数のチェックが行われません。

function add(a, b) {
  return a + b;
}
console.log(add(1, 2, 5)); // 3