loc の定義位置を forEach 外にするとなぜ結果がこのようになるのですか?

indexOf() で @ が見つからず -1 が loc に格納され、slice で email の 0 文字目から最後の 1 文字を除いた位置まで切り出されるからです。
2024年12月5日
ユーザー
const loc = emails.indexOf('@');

emails.forEach((email) => {
  console.log(email.slice(0, loc));
})

としてコンソールを出力すると、結果が

taro@email.co
kintaro@email.co
kojiro@email.co

と出力されました。なぜこのような出力結果になってしまうのでしょうか。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(1)