如何写好函数式编程
保证纯函数
一个函数的返回结果只依赖于他的参数,同样的输入必定有同样的输出
减少函数副作用
函数副作用就是函数,会影响外部的数据,如果全局变量
//非纯函数
var a=10;
function add(num){
return num+a;
}
add(3)
//纯函数
var a=10;
function add(a,num){
return num+a;
}
a=5;
add(a,3)
//副作用
var a=10;
function aplus(){
a+=1;
return a;
}
//取消副作用
var a=10
function aplus(a){
a+=1;
return a;
}
//对象消除副作用
var obj={
a:123
}
function objPlus(obj){
var _obj=obj.create(obj);
_obj.a+=1;
return _obj;
}
//数组消除副作用
var arr=[1,2,3,4,5,6];
function arrPlus(arr){
var _arr=[...arr];
_arr[0]+=1;
return _arr;
}
工程化下的函数式编程
//ES6
export function f1(){
}
export function f2(){
}
import {f1} from "./code.js"
import * as all from "./code.js"
all.f2();
//commonjs
function f1(){
}
function f2(){
}
exports.f1=f1;
exports.f2=f2;
const all=require("./code.js");
本文作者:我是小杨
本文链接:https://www.cnblogs.com/Liguangyang/p/16492496.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步