理解JS中的声明式与命令式?
声明式编程
定义: 告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。
命令式编程
定义: 命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。
常见的代码再来理解一次
// 命令式
const numbers = [1,2,3,4,5]
const doubled = []
for(var i = 0; i < numbers.length; i++) {
var newNumber = numbers[i] * 2
doubled.push (newNumber)
}
console.log (doubled) //=> [2,4,6,8,10]
// 声明式
const numbers = [1,2,3,4,5]
const doubled = numbers.map (function (n) {
return n * 2
})
console.log (doubled) //=> [2,4,6,8,10]
优缺点
声明式减少了可变量(Immutable Variable)的声明,程序更为安全
相比命令式编程,少了非常多的状态变量的声明与维护
声明式代码更为简洁,好的命名代码可读性更强
总结
命令式关注过程
声明式关注结果
网友评论