前端开发js函数式编程真实用途体现在哪里

前端开发js函数式编程真实用途体现在:1、优化绑定;2、封装作用;3、复用。优化绑定:说白了前端和后端不一样的关键点是后端HTTP较多,前端渲染多,前端真正的刚需是数据绑定机制。

前端开发js函数式编程真实用途体现在哪里-Worktile社区

一、优化绑定

说白了前端和后端不一样的关键点是后端HTTP较多,前端渲染多,前端真正的刚需是数据绑定机制。后端一次对话,计算好Response发回就完成任务了,所以后端吃了二十年年MVC老本还是挺好用的。前端处理的是连续的时间轴,并非一次对话,像后端那样赋值简单传递就容易断档,导致状态不一致,带来大量额外复杂度和Bug。不管是标准FRP还是Mobx这种命令式API的TFRP,内部都是基于函数式设计的。函数式重新发明的Return和分号是要比裸命令式好得多的(前端状态可以同步,后端线程安全等等,想怎么封装就怎么封装)。

二、封装作用

大幅简化异步,IO,渲染等作用/副作用相关代码。和很多人想象的不一样,函数式很擅长处理作用,只是多一层抽象,如果应用稍微复杂一点,这点成本很快就能找回来(Redux Saga是个例子,特别是你写测试的情况下)。渲染现在大家都可以理解幂等渲染地好处了,其实函数式编程各种作用和状态也是幂等的,对于复杂应用非常有帮助。

三、复用

引用透明,无副作用,代数设计让函数式代码可以正确优雅地复用。前端不像后端业务固定,做好业务分析和DDD就可以搭个静态结构,高枕无忧了。前端的好代码一定是活的,每处都可能乱改。可组合性其实很重要。通过高阶函数来组合效果和效率都要高于继承,试着多用ramda,你就可以发现绝大部分东西都能一行写完,最后给个实参就变成一个UI,来需求改两笔就变成另外一个。

作者:Wang Namelos
链接:https://www.zhihu.com/question/59871249/answer/170400954
来源:知乎

延伸阅读

什么是函数式编程

函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。 [1] 

和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。

和过程化编程相比,函数式编程里函数的计算可随时调用。

简单说,”函数式编程”是一种”编程范式”(programming paradigm),也就是如何编写程序的方法论。

它属于”结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。

文章标题:前端开发js函数式编程真实用途体现在哪里,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37742

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月10日 下午3:14
下一篇 2023年2月10日 下午3:34

相关推荐

  • java编程是什么

    摘要 Java编程是一种高级程序设计语言,它以其 1、平台无关性、2、面向对象的特性、3、安全性和4、易学易用 的特点而广泛应用于软件开发领域。 尤其是平台无关性,使得Java编程成为开发跨平台应用程序的首选语言。一次编写,到处运行的理念极大地提高了开发效率,降低了维护成本。这是因为Java程序在运…

    2024年4月25日
    100
  • 如何实施高效的需求管理流程

    实施高效的需求管理流程的步骤:1、明确需求定义和目标;2、建立需求管理团队;3、收集需求;4、需求分析和评估;5、编写需求文档;6、确认和批准需求;7、需求变更管理;8、持续监控和评估;9、建立反馈机制;10、培训和支持;11、文档记录和维护;12、持续改进。实施高效的需求管理流程是确保研发项目成功的重要环节。

    2023年11月12日
    31300
  • 什么是企业运营管理

    企业运营管理是作为企业生存赢利的关键要素和要素之间的逻辑关系,它决定着一个企业的市场经营成果;从长远来看,能否找到适合企业经营需要的企业运作模式并不断完善决定着一个企业能否有未来。 一、什么是企业运营管理 企业运营管理是作为企业生存赢利的关键要素和要素之间的逻辑关系,它决定着一个企业的市场经营成果;…

    2023年7月28日
    38600
  • 移动版oa办公系统

    移动版OA办公系统通过优化工作流程、提升数据处理效率1、增进团队沟通协作2、实现随时随地办公的可能性3、对于推动企业数字化转型至关重要。移动版OA系统的一个重点是对于企业资源的高效管理。通过集成各种办公工具与服务,这种系统能够帮助员工更好地进行时间管理,优化工作流程,并迅速响应工作中的各种需求,这一…

    2024年1月15日
    19300
  • linux常用命令20个

    linux常用命令20个有:1、ls;2、cd;3、mkdir;4、rm;5、cp;6、mv;7、touch;8、cat;9、grep;10、chmod;11、chown;12、man;13、tar;14、wget;15、较好;16、df;17、du;18、ps;19、history;20、ssh;…

    2023年5月15日
    89500
  • vscode为什么终端不显示

    Visual Studio Code (VSCode) 的终端可能不显示的原因包括系统环境配置错误、VSCode版本不兼容、终端配置问题、以及插件冲突等。系统环境配置错误尤其常见,它包括但不限于路径配置错误、系统变量缺失等,这可能会导致VSCode无法正确调用系统终端。细致地检查和调整系统环境变量通…

    2024年4月3日
    25500
  • 系统研发

    系统研发是一个包括设计、编写、测试以及改进固定或者嵌入式软件组件或者系统的过程。这个流程涉及严谨的分析、明确的设计原则、编程能力以及持续的测试与改进。1、必要性与目的:系统研发对于软件和硬件产品的功能、性能和可靠性至关重要。2、关键步骤:通过一系列的步骤确保系统的高效、安全与用户友好。3、团队合作:…

    2024年1月9日
    21700
  • 皮肤管理都做什么项目

    开门见山地概括,皮肤管理包括了1、基础清洁护理、2、深层滋润、3、痤疮控制、4、抗衰老治疗、5、色斑治疗、6、敏感皮肤管理。这些项目应对不同的皮肤问题和需求,以保持皮肤健康与美丽。例如,基础清洁护理不仅仅是日常的洗脸,更包括定期进行的深层清洁,去除污垢和死皮细胞,预防痤疮和黑头的发生,在此基础上还要…

    2024年1月8日
    27700
  • 为什么使用vscode

    为什么使用VSCode?人们选择VSCode通常是因为其卓越的性能、强大的功能集、良好的扩展生态系统、跨平台兼容性,还有它的开源特性。这些因素结合在一起,使VSCode在开发者社区中备受推崇。其中,特别值得一提的是其强大的功能集,它不仅提供了基础的代码编辑功能,还引入了智能的代码补全、代码导航和集成…

    2024年4月3日
    7000
  • 如何评估新产品的市场潜力

    开门见山回答此一问题,评估新产品市场潜力须依据这些重要因素:1、顾客需求分析、2、市场规模及增长预测、3、竞争环境探讨、4、产品独特性与差异化定位、5、价值主张及商业模式构建、6、销售与分销渠道开拓、7、风险评估与应对策略。以顾客需求分析为例,该环节涉及全面了解目标群体的现有需求、潜在需求与未被满足…

    2024年1月19日
    51400

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部