JAVASCRIPT作为功能编程介绍

简介:

标记为
JavaScript的
我们已经看到JavaScript可以是一种伟大的语言。特别是那些正在学习功能编程的人。

在过去的几个月里,我看到了功能性编程,你也可以做到。我将在过去几个月内向您展示一些在JavaScript / React / Redux中看到的功能编程概念。

如果您使用React和Redux,您已经完成了一些功能性编程,甚至你甚至都不知道。

是的,你可以用JavaScript做FP
其实,你可以用任何语言做FP。当然,最好使用纯功能语言,因为你将被迫使用功能特性。

我们可以在互联网上找到很多关于如何使用JavaScript的博客文章。还有一个令人敬畏的JavaScript功能编程列表。

这不会是另一个博客文章,教你如何在JavaScript中进行FP,但是一篇博客文章说,JavaScript在过去几年中帮助我看到了什么。

纯功能
纯函数使功能编程发生。你可能知道什么功能和使用方法,但什么是纯功能?

每当使用给定的参数调用时,纯函数将始终返回相同的值。任何外部状态都不会改变。考虑数学函数 - x^2不关心外部状态,对吧?

如果您正在使用React,并且使用无状态组件,则使用纯函数。

我们来看看“你好世界”的反应:

function HelloWorld() {
  return <div>Hello, world!</div>
}

React已经介绍了我的纯功能,也为很多其他人这样做了。

不变性
不变性是使功能编程发生的另一件事。我们可以使用ImmutableJS来创建不变的数据结构。我正在使用Immutable,特别是当我与Redux一起编写React代码时。我的状态是不变的

ImmutableJS向我介绍了现实世界中不可变的使用。

作为组件的功能
React介绍给我的功能是组件。组合性。我们倾向于将代码分解成小的函数或组件,这是我们可以用React做的事情之一。这也可以帮助你避免重复自己。

相关文章
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
509 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
8月前
|
JavaScript 前端开发 Java
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
237 24
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
|
9月前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
670 11
|
JavaScript 前端开发
JavaScript分页功能
JavaScript分页功能
|
9月前
|
JavaScript Ubuntu Linux
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
|
JavaScript 前端开发 API
|
10月前
|
JavaScript 前端开发 IDE
【编程向导】Js与Ts差异详解:选择与权衡
JavaScript 一直是 Web 开发的基石,以其灵活性和动态性著称,但其松散类型可能导致大型项目中出现难以调试的错误。TypeScript 作为 JavaScript 的超集,通过引入静态类型系统,提供了更高的类型安全性和更好的工具支持,尤其适合大型团队和复杂项目。本文详细对比了 JavaScript 和 TypeScript 的优缺点,并提供了实际代码示例,帮助开发者根据项目需求选择合适的工具。
1307 2
|
11月前
|
JavaScript 前端开发 安全
盘点原生JS中目前最没用的几个功能API
在JavaScript的发展历程中,许多功能与API曾风光无限,但随着技术进步和语言演化,部分功能逐渐被淘汰或被更高效的替代方案取代。例如,`with`语句使代码作用域复杂、可读性差;`void`操作符功能冗余且影响可读性;`eval`函数存在严重安全风险和性能问题;`unescape`和`escape`函数已被`decodeURIComponent`和`encodeURIComponent`取代;`arguments`对象则被ES6的剩余参数语法替代。这些变化体现了JavaScript不断优化的趋势,开发者应紧跟技术步伐,学习新技能,适应新技术环境。
222 10
|
12月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件