项目作者: HowProgrammingWorks

项目描述 :
Mixin behavior, structure and relations
高级语言: JavaScript
项目地址: git://github.com/HowProgrammingWorks/Mixin.git
创建时间: 2016-09-21T23:43:58Z
项目社区:https://github.com/HowProgrammingWorks/Mixin

开源协议:MIT License

下载


Примеси в JavaScript

Примеси в JavaScript: mixin, extend, Object.assign, class λ-mixin

Tasks:

  • see examples
  • implement extend(obj, ...objects) so keys from objects will be mixed into obj only if it doesn’t contain those keys
  • implement wrap(obj, ...funcs) so if obj contains func.name it should be wrapped
  • implement mixin logable()
  • implement universal equilateral mixin for for N sides (see 6-class.js)
  • implement emitable with Object.defineProperty (see 6-evants.js)
  • implement mixin for prototypes (not instances)
  • implement extend for mixins with additional override:Boolean flag
    ```js
    const mix2 = [
    {
    override: true,
    toString() {
    1. return `${this.name} - ${this.city} - ${this.born}`;
    }
    },
    {
    override: false,
    age() {
    1. const year = new Date().getFullYear();
    2. const born = new Date(this.born).getFullYear();
    3. return year - born;
    }
    }
    ];

extend(obj1, mix1, mix2);
```