We have seen two distinct principles for functional programming:
Don't alter a variable or object - create new variables and objects and return them if need be from a function. Hint: using something like const newArr = arrVar
, where arrVar
is an array will simply create a reference to the existing variable and not a copy. So changing a value in newArr
would change the value in arrVar
.
Declare function parameters - any computation inside a function depends only on the arguments passed to the function, and not on any global object or variable.
对于函数式编程,我们有两条不同的原则:
const newArr = arrVar
, 将创建一个对现有变量创建引用,而不是复制。改变newArr的值将会改变arrVar的值。而使用类似这样的句子 let newArr=[...arr], 将会创建一个新数组newArr,并复制原始数组,在函数内完成计算并返回newArr,并不改变原始数组的值。