声明式与命令式代码区别
- 命令式:
- 代码更加具体,详细,把处理的底层细节全部暴露。
- 声明式:
- 结合高级功能函数或结合组合函数等,使代码更注重"做什么",而不是"怎么做"。专注于为了目的,而搭配组合的方式。而不是侧重零散的底层详细实现。
// 命令式
var makes = [];
for (i = 0; i < cars.length; i++) {
makes.push(cars[i].make);
}
// 声明式
var makes = cars.map(function(car){ return car.make; });
// 命令式
var authenticate = function(form) {
var user = toUser(form);
return logIn(user);
};
// 声明式
var authenticate = compose(logIn, toUser);