9 个每个人都应该知道的函数式编程概念
Posted Breword
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9 个每个人都应该知道的函数式编程概念相关的知识,希望对你有一定的参考价值。
原文地址:https://hackernoon.com/9-functional-programming-concepts-everyone-should-know-uy503u21 原文作者:Victor Cordova 译者:Breword
9 个每个人都应该知道的函数式编程概念
本文将介绍每个程序员都应该知道的函数式编程概念。让我们首先定义什么是函数式编程(从现在开始是 FP)。FP 是一种编程范式,通过应用和组合函数来编写软件。范式 是一种 “任何类型的哲学或理论框架”。换句话说,FP 让我们将问题的解法视为一系列互相连接的函数。
在这里,我将对 FP 中的基本概念及其能够解决的一些问题做一个基本的介绍。
注意:出于实用性考虑,我将省略定义这些概念的特定数学属性。你不必在你的应用程序中强制使用这些概念。
1. 不变性(Immutability)
突变是对对象的值或结构的修改。不变性意味着某些内容无法修改。考虑以下示例:
const cartProducts = [
{
"name": "Nintendo Switch",
"price": 320.0,
"currency": "EUR"
},
{
"name": "Play station 4",
"price": 350.0,
"currency": "USD"
}
]
// Let's format the price field so it includes the currency e.g. 320 €
cartProducts.forEach((product) => {
const currencySign = product.currency === 'EUR' ? '€' : '$'
// Alert! We're mutating the original object
product.price = `${product.price} ${currencyName}`
})
// Calculate total
let total = 0
cartProducts.forEach((product) => {
total += product.price
})
// Now let's print the total
console.log(total) // Prints '0320 €350 $' 以上是关于9 个每个人都应该知道的函数式编程概念的主要内容,如果未能解决你的问题,请参考以下文章