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 个每个人都应该知道的函数式编程概念的主要内容,如果未能解决你的问题,请参考以下文章

每个人都应该懂点函数式编程

2017年你应该了解的函数式编程

每个开发人员都应该知道的16个顶级新计算机编程语言

《On Java 8》中文版 第十三章 函数式编程

Python之每个人都应该知道的30个一行代码程序

Python函数编程——列表生成式和生成器