day16: function programming 是什麽?

在过去我们写程序常常会遇到以下这种情形

let statusA = 0;

const B = ()=>{
	if(abc === '1'){
		statusA = 1
	}
	return xxxx
	........
}

const C = ()=>{
	if(cba === '20'){
		statusA = 10
	}
	return ooooo
	.........
}

在这样的情境下,虽然 function B 和 C 都是单独的 scope,但是在执行程序时,

都会去改动到 statusA,如果程序码一多,不只改动一个状态,这样就会造成不知道谁改动谁,

执行程序时不只回传值,还会造成其他的状态或程序受影响,这就是所谓的 side effect,

那为了改善这样的写法,便有 function programming 简称 FP 的模式发明,为了改善这种充满

side effect 的程序,达到固定 import 以及固定 output 的 pure function。下一篇我们就来认识 FP 吧。


<<:  Day 19 - 语音情绪辨识简介

>>:  【Day18】导航元件 - Breadcrumb

虹语岚访仲夏夜-25(专业的小四篇)

好久没有看到的小七...好像也没多久,昨天才见过,但因为昨晚的那个恐布经历,我现在好想看到她,好想听...

[Day16] 学 Reactstrap 就离 React 不远了 ~ 用 Tooltips 认识 useEffect

前言 昨天文章有提到在 Tooltips 看到有趣的范例, 有用到 useEffect, 不过我有将...

Week38 - 各种安全性演算法的应用 - 概念篇 [高智能方程序系列]

本文章同时发布於: Medium iT 邦帮忙 大家好,这几天较有时间,终於可以好好的思考文章 XD...

Dat 27 Transformer

我们先来回顾一下,我们之前介绍了 RNN ,而它的架构就是输入一个序列,得到另一个序列。但是它有些致...

Halcon (机器视觉)的介绍

HALCON是由德国MVtec公司开发的一套完善的商用的机器视觉算法软件, 在欧洲以及日本的工业界已...