什么是纯函数


了解纯函数

特点:

在程序设计中,若一个函数符合以下要求,则它可能被认为是纯函数:
此函數在相同的输入值時,需產生相同的輸出。函數的輸出和輸入值以外的其他隐藏信息或狀態無關,也和由I/O設備產生的外部輸出無關。
该函数不能有语义上可观察的函数副作用,诸如“触发事件”,使輸出設備輸出,或更改輸出值以外物件的內容等。
纯函数的輸出可以不用和所有的輸入值有關,甚至可以和所有的輸入值都無關。但纯函数的輸出不能和輸入值以外的任何資訊有關。纯函数可以傳回多個輸出值,但上述的原則需針對所有輸出值都要成立。若引數是传引用调用,若有對參數物件的更改,就會影響函數以外物件的內容,因此就不是纯函数。

选自wiki

  • 不得改写参数,不能使用全局变量.
  • 不能调用Date.now() 或者 Math.random().

Author: xt_xiong
转载要求: 如有转载请注明出处 :根据 CC BY 4.0 告知来自 xt_xiong !
评论
  标题