Skip to content

HowProgrammingWorks/Mixin

Repository files navigation

Примеси в 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
constmix2=[{override: true,toString(){return`${this.name} - ${this.city} - ${this.born}`;}},{override: false,age(){constyear=newDate().getFullYear();constborn=newDate(this.born).getFullYear();returnyear-born;}}];extend(obj1,mix1,mix2);

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •