こんにちは、フローです。
JavaScriptはやっぱり難しいと思う人が多いので、
今回から「中学生でもわかる」シリーズとして書いていきたいと思います。
一緒に勉強していきましょう!
JavaScriptの「アロー関数」について解説していきます。
そもそも関数(function)とは?
プログラミングの世界では、
何か特定の「仕事」をするための手順を
「関数」(function)と呼びます。
例えば、
「こんにちは、太郎さん」
と挨拶する仕事をする関数を作るとします。
function greet(name) {
return "Hello, " + name;
}
console.log(greet("太郎")); // "Hello, 太郎"
上記のコードでは、
greet
という名前の関数を作りました。
name
(括弧の中に書かれている部分)は「引数」(argument)と呼ばれ、
関数が仕事をするために必要な情報を指します。
この場合、誰に挨拶するのかという情報をname
で受け取っています。
return
というのは、
「結果を返す」という意味で、
この関数の結果として”Hello, “という文字と、
name
の中身をくっつけたものを出しています。
console.log(greet("太郎"));
という行は、
「greet
関数に”太郎”という名前を渡して、結果をコンソールに表示する」
という仕事をしています。
結果は、”Hello, 太郎”と表示されます。
アロー関数の使い方
それでは、次に「アロー関数」について見ていきましょう。
アロー関数とは、
上記で見た通常の関数をもっとシンプルに書くための方法です。
let greet = (name) => {
return "Hello, " + name;
}
console.log(greet("太郎")); // "Hello, 太郎"
上記のコードは、
先ほどのコードと同じ「挨拶する」という仕事をする関数ですが、
function
という単語がなくなり、
代わりに=>
という新しい記号が出てきました。
これがアロー関数の特徴的な表記法です。
このlet greet = (name) => {...}
という部分は、
「greet
という名前の関数を作るよ!」
という意味です。
name
は引数ですね。
そして=>
の右側には、関数がやるべき仕事(つまり、”Hello, “と名前をくっつけて返す)が書かれています。
アロー関数のパターン
さて、アロー関数はもっと短く書くこともできます。それを見ていきましょう。
引数が一つだけの場合、括弧を省略することができます。
let greet = name => {
return "Hello, " + name;
}
console.log(greet("太郎")); // "Hello, 太郎"
関数の本体が一行で、その結果を返すだけの場合、中括弧とreturn
キーワードを省略できます。
let greet = name => "Hello, " + name;
console.log(greet("太郎")); // "Hello, 太郎"
引数がない場合でも、アロー関数を使用することが可能です。この場合は、空の括弧を書きます。
let greet = () => "Hello, 太郎";
console.log(greet()); // "Hello, 太郎"
アロー関数を上手く使うと、コードを短く、シンプルに書けます。
アロー関数の注意点
ただし、アロー関数には注意点もあります。
this
の挙動
これは少し難しい話ですが、
アロー関数内部のthis
は、他の関数とは異なる働きをします。
なので、this
を使う場合は、アロー関数を使うか通常の関数を使うか、
注意深く選ぶ必要があります。
arguments
オブジェクト
アロー関数内ではarguments
というものを利用することができません。
これは、関数が複数の引数を受け取る場合に使うものですが、
アロー関数では使えないので注意してください。
メソッドとしての使用
アロー関数はオブジェクトのメソッド(オブジェクトが持つ関数)として使うことが推奨されていません。
これは、this
の働きが関係しています。
まとめ
以上、JavaScriptのアロー関数についての解説を行いました。
アロー関数はコードをシンプルにし、見やすくします。
しかし、その特性を理解し、適切に使用することが大切です。
これからJavaScriptを学んでいく皆さんの一助となれば幸いです。
レッツチャレンジ!
最近のコメント