アロー関数は1行で即returnする関数作る時のみ例外として{}
を抜いて省略した書き方が可能となります。
{}
を付けるとreturn文の明示が必要になります。
では早速デベロッパーツールのコンソールで確認しましょう。
アロー関数を作ってカッコで包み、適当な値を投げ込んで実行してみます。
> (x => x.includes('o'))('hiroki')
true
> (x => {x.includes('o')})('hiroki')
undefined
ただし、単品{}
でブロックスコープを作った場合、最後の行が戻り値という挙動をします。
紛らわしいですが頑張って覚えてください。
> {
> const hoge = 123;
> const piko = 234;
> hoge;
> }
123
> { 123 }
123
everyに関して
MDNが間違いないのでざっと紹介
Array.prototype.every
コードでeveryの挙動を説明するとこんな感じになります。
js
1const every = (arr, cb) => {
2 for (let i = 0; i < arr.length; i++) {
3 // 1個でもfalseっぽい値になったらfalseを返す
4 if (cb(arr[i]) == false) return false;
5 }
6 return true;
7}
undefined
は==
で比較した時にfalseとして扱われる値なので、
毎回undefined
しか返さない関数と組み合わせたらそりゃfalse
にしかなりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/06 12:11