docs(decorator): edit decorator

This commit is contained in:
ruanyf
2017-05-19 16:41:41 +08:00
parent a96f510e7f
commit 6cffe77c7c
2 changed files with 9 additions and 9 deletions
+8 -8
View File
@@ -2,19 +2,19 @@
## 类的修饰
修饰器(Decorator)是一个函数,用来修改类的行为。这是ES7的一个[提案](https://github.com/wycats/javascript-decorators),目前Babel转码器已经支持。
修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时。这意味着,修饰器能在编译阶段运行代码。
修饰器(Decorator)是一个函数,用来修改类的行为。这是 ES 的一个[提案](https://github.com/wycats/javascript-decorators),目前 Babel 转码器已经支持。
```javascript
@testable
class MyTestableClass {
// ...
}
function testable(target) {
target.isTestable = true;
}
@testable
class MyTestableClass {}
console.log(MyTestableClass.isTestable) // true
MyTestableClass.isTestable // true
```
上面代码中,`@testable`就是一个修饰器。它修改了`MyTestableClass`这个类的行为,为它加上了静态属性`isTestable`
@@ -31,7 +31,7 @@ class A {}
A = decorator(A) || A;
```
也就是说,修饰器本质就是编译时执行的函数。
注意,修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时。这意味着,修饰器能在编译阶段运行代码。也就是说,修饰器本质就是编译时执行的函数。
修饰器函数的第一个参数,就是所要修饰的目标类。
+1 -1
View File
@@ -890,7 +890,7 @@ jsonToMap('[[true,7],[{"foo":3},["abc"]]]')
### 含义
`WeakMap`结构与`Map`结构类似,也是用于生成键值对。
`WeakMap`结构与`Map`结构类似,也是用于生成键值对的集合
```javascript
// WeakMap 可以使用 set 方法添加成员