函数式编程逸闻之 - 天生无Null

在纯函数式编程的世界里没有 null(或nil), 而且是天生就没有这个概念,很自然就没有,而不是故意避开。

因为纯函数式是没有变量的,比如:

let x = "abc"

这里, x 严格来说不是一个变量(虽然有时为了方便有可能称之为变量),这一行代码是做了一个 binding, 是将 “abc” 这个值绑在 x 上,从此 x 就只能是这个值,不能改变。而在普通的命令式编程(imperative programming) 里则不一样,比如在 JavaScript 里可以这样做:

let x;
x = "abc";

如上所示,在命令式编程里,声明与赋值可以分开,这就给了 null 诞生的机会与生存的空间。而在函数式里,没有变量,没有声明,没有赋值,只有绑定。因此,很自然地就没有 null 及其带出来的相关问题。

posted @ 2020-12-09 19:37  cmdOptionKana  阅读(67)  评论(0编辑  收藏  举报