関数型プログラミングを使用して変異と副作用を回避する
1002 ワード
splice
関数の tabClose()
呼び出しにありました.残念ながら、 splice はそれが呼び出された元の配列を変更するため、2 回目の呼び出しでは変更された配列が使用され、予期しない結果が生じました.これは、はるかに大きなパターンの小さな例です.変数、配列、またはオブジェクトに対して関数を呼び出すと、関数はオブジェクト内の変数または何かを変更します.
incrementer
のコードを埋めて、グローバル変数 fixedValue
に 1 を加えた値を返すようにします.var fixedValue = 4;
function incrementer () {
}
var fixedValue = 4;
function incrementer () {
return fixedValue + 1;
}
console.log(fixedValue); will display 4
console.log(incrementer()); will display 5;
incrementer
は、fixedValue (4) の値を変更しませんでした. incrementer
関数は、fixedValue
値よりも 1 大きい値を返す必要があります. Reference
この問題について(関数型プログラミングを使用して変異と副作用を回避する), 我々は、より多くの情報をここで見つけました https://dev.to/rthefounding/avoiding-mutations-and-side-effects-using-functional-programming-3o4gテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol