0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Javascriptのブロック構文で引っかかった件について

Posted at

JavaScriptで絞り込み検索機能を実装していたら、全然機能せず、四苦八苦していると超初歩的なミスに気がつきました。。。
今後のミス防止のためにも記録に残しておこうと思います!(ただの自己満笑)

問題です。どちらのコードが動作するでしょうか?

パターン①↓

javascript
const filterWord = filterInputItem.value;
const filterSearch = articleList.filter(
  (article) =>
    article.name.includes(filterWord) || article.person.includes(filterWord)
);

パターン②↓

javascript
const filterWord = filterInputItem.value;
const filterSearch = articleList.filter((article) => {
  article.name.includes(filterWord) || article.person.includes(filterWord);
});

答え

答えはパターン①です!
まあ、こうやって見ると分かりますよね、、、
パターン②の場合だとブロック構文を使用しているのでreturnを入れないとダメですよね!

アロー関数と{}の使い方

{} なしのアロー関数 (暗黙の返り値)

javascript
const add = (a, b) => a + b; // 戻り値は a + b

{} ありのアロー関数 (明示的な返り値)

javascript
const add = (a, b) => {
  return a + b; // return が必要
};

まとめ

{} を使う場合
・return が必要
・複数行書くときに使う。

{} を使わない場合
・return 不要
・一行じゃないとダメ

プログラミングってムズイよね。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?