@@ -94,12 +94,12 @@ import { mixins } from './mixins'
9494
9595const Foo = {
9696 foo () { console .log (' foo' ) }
97- }
97+ };
9898
9999@mixins (Foo)
100100class MyClass {}
101101
102- let obj = new MyClass ()
102+ let obj = new MyClass ();
103103obj .foo () // 'foo'
104104```
105105
@@ -108,7 +108,7 @@ obj.foo() // 'foo'
108108``` javascript
109109const Foo = {
110110 foo () { console .log (' foo' ) }
111- }
111+ };
112112
113113class MyClass {}
114114
@@ -169,7 +169,7 @@ function nonenumerable(target, name, descriptor) {
169169
170170下面的` @log ` 修饰器,可以起到输出日志的作用。
171171
172- ``` bash
172+ ``` javascript
173173class Math {
174174 @log
175175 add (a , b ) {
@@ -498,7 +498,7 @@ export function mixins(...list) {
498498然后,就可以使用上面这个修饰器,为类"混入"各种方法。
499499
500500``` javascript
501- import { mixins } from ' ./mixins'
501+ import { mixins } from ' ./mixins' ;
502502
503503const Foo = {
504504 foo () { console .log (' foo' ) }
@@ -600,20 +600,20 @@ Trait也是一种修饰器,效果与Mixin类似,但是提供更多功能,
600600下面采用[ traits-decorator] ( https://github.com/CocktailJS/traits-decorator ) 这个第三方模块作为例子。这个模块提供的traits修饰器,不仅可以接受对象,还可以接受ES6类作为参数。
601601
602602``` javascript
603- import { traits } from ' traits-decorator'
603+ import { traits } from ' traits-decorator' ;
604604
605605class TFoo {
606606 foo () { console .log (' foo' ) }
607607}
608608
609609const TBar = {
610610 bar () { console .log (' bar' ) }
611- }
611+ };
612612
613613@traits (TFoo, TBar)
614614class MyClass { }
615615
616- let obj = new MyClass ()
616+ let obj = new MyClass ();
617617obj .foo () // foo
618618obj .bar () // bar
619619```
@@ -623,7 +623,7 @@ obj.bar() // bar
623623Trait不允许"混入"同名方法。
624624
625625``` javascript
626- import {traits } from ' traits-decorator'
626+ import {traits } from ' traits-decorator' ;
627627
628628class TFoo {
629629 foo () { console .log (' foo' ) }
@@ -632,7 +632,7 @@ class TFoo {
632632const TBar = {
633633 bar () { console .log (' bar' ) },
634634 foo () { console .log (' foo' ) }
635- }
635+ };
636636
637637@traits (TFoo, TBar)
638638class MyClass { }
@@ -647,7 +647,7 @@ class MyClass { }
647647一种解决方法是排除TBar的foo方法。
648648
649649``` javascript
650- import { traits , excludes } from ' traits-decorator'
650+ import { traits , excludes } from ' traits-decorator' ;
651651
652652class TFoo {
653653 foo () { console .log (' foo' ) }
@@ -656,12 +656,12 @@ class TFoo {
656656const TBar = {
657657 bar () { console .log (' bar' ) },
658658 foo () { console .log (' foo' ) }
659- }
659+ };
660660
661661@traits (TFoo, TBar:: excludes (' foo' ))
662662class MyClass { }
663663
664- let obj = new MyClass ()
664+ let obj = new MyClass ();
665665obj .foo () // foo
666666obj .bar () // bar
667667```
@@ -671,7 +671,7 @@ obj.bar() // bar
671671另一种方法是为TBar的foo方法起一个别名。
672672
673673``` javascript
674- import { traits , alias } from ' traits-decorator'
674+ import { traits , alias } from ' traits-decorator' ;
675675
676676class TFoo {
677677 foo () { console .log (' foo' ) }
@@ -680,12 +680,12 @@ class TFoo {
680680const TBar = {
681681 bar () { console .log (' bar' ) },
682682 foo () { console .log (' foo' ) }
683- }
683+ };
684684
685685@traits (TFoo, TBar:: alias ({foo: ' aliasFoo' }))
686686class MyClass { }
687687
688- let obj = new MyClass ()
688+ let obj = new MyClass ();
689689obj .foo () // foo
690690obj .aliasFoo () // foo
691691obj .bar () // bar
0 commit comments