Created with CodeSandbox
関数外の値や状態を更新するような処理は副作用といいます。 副作用には以下のような操作が挙げられます。
例)副作用
- 引数で渡ってきたオブジェクトの中身を書き換える
- 外部スコープの変数の値を変える
- コンソールへのログ出力
- DOM 操作
- サーバーとの通信
- タイマー処理
- ランダムな値の生成
関数が副作用を持つということは、その関数の実行が戻り値以外にも影響を与えていることを意味しています。 そのため、副作用をもつ関数がそこらしかに存在するとコードが追いずらくなってしまいます。