Skip to content

声明式编程 (Declarative Programming)

函数式编程通常偏好声明式风格:描述“做什么”(what)而不是“怎么做”(how)。

命令式 vs 声明式

下面的例子演示把数组元素翻倍并求和,分别使用命令式和声明式写法:

js
const numbers = [1, 2, 3, 4, 5];

// 命令式(Imperative)
let doubledSumResult = 0;
for (let i = 0; i < numbers.length; i++) {
	const doubled = numbers[i] * 2;
	doubledSumResult += doubled;
}
console.log('命令式结果:', doubledSumResult);

// 声明式(Declarative)
const double = x => x * 2;
const sum = (a, b) => a + b;

const result = numbers
	.map(double)
	.reduce(sum, 0);

console.log('声明式结果:', result);

优势

  • 更高层次抽象:关注数据转换的流程而不是循环和状态管理。
  • 更易于测试与组合:小函数可以单独测试并在不同场景复用。

何时不适合声明式

  • 在必须精细控制性能或内存分配的场景,命令式可能更高效。
  • 对某些初学者,过度抽象的声明式代码反而难以理解。

返回函数式编程目录

MIT Licensed | Keep Learning.