やかんです。
「備忘録」と称して、「へー」と思ったことを書きます。
jsのforeachについて
jsのforeachは、「配列の各要素に対して、コールバック関数を実行する」ものです。
この、「コールバック関数を実行する」というところが結構ポイントなんじゃねって思いました。
例えば以下のコードのように、「関数の中でforrachを読んで、配列の要素が特定の条件を満たしている場合は関数を抜けたい」という場合を考えます。
async function f(someArray: string[]) {
someArray.forEach((item) => {
if (item === "a") {
return;
}
});
return;
}
気持ちとしては、「itemがaに等しかったら、fという関数自体終えるよ」という気持ちなんですけど、この記述じゃ関数fは終わりません。最後まで突っ走ります。
なんで?
foreachは、配列の各要素に対してコールバック関数を実行する記述だからです。上の例だと、コールバック関数はreturnで抜けますが、外側の関数fについてreturnは何の効力も持ちません。
こういう時は大人しくforループなどを使いましょう。
以上、備忘録でした。最後までお読みいただき、ありがとうございます!