mixin,柯里化

mixin

最基本的 mixin 其实就是简单地将一个对象的属性复制给另一个对象:

function mixin(dest, src) {
    for (var key in src) {
        dest[key] = src[key]
    }
}

var person = {name: "akira", age: 25};
var student = {grade: 1};
mixin(student, person);

是不是有点像Object.assign()呢?
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

const target = { a: 1 };

const source1 = { b: 2 };
const source2 = { c: 3 };

Object.assign(target, source1, source2);
target // {a:1, b:2, c:3}

柯里化

只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。
一个函数的返回值是一个函数。
react-redux中的connect便是一个柯里化函数

const App = connect(
  mapStateToProps,
  mapDispatchToProps
)(Counter)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,615评论 0 5
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,149评论 0 21
  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。 上面代码表明,ES6允许在对象之中,直接写...
    oWSQo阅读 522评论 0 0
  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6允...
    呼呼哥阅读 2,940评论 0 2
  • 释放 读书会上,老师们说到了一个让我有共鸣的话题。从小到大,我们会有很多想法,这些想法我们深埋心底,从不会...
    佳佳_4eb2阅读 88评论 0 0