Skip to content

Commit 075c27b

Browse files
committed
docs(decorator): edit method decorator
1 parent d808c68 commit 075c27b

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

docs/decorator.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ class Person {
148148

149149
上面代码中,修饰器`readonly`用来修饰“类”的`name`方法。
150150

151-
此时,修饰器函数一共可以接受三个参数,第一个参数是所要修饰的目标对象,即类的实例(这不同于类的修饰,那种情况时`target`参数指的是类本身);第二个参数是所要修饰的属性名,第三个参数是该属性的描述对象
151+
修饰器函数`readonly`一共可以接受三个参数
152152

153153
```javascript
154154
function readonly(target, name, descriptor){
@@ -168,7 +168,9 @@ readonly(Person.prototype, 'name', descriptor);
168168
Object.defineProperty(Person.prototype, 'name', descriptor);
169169
```
170170

171-
上面代码说明,修饰器(readonly)会修改属性的描述对象(descriptor),然后被修改的描述对象再用来定义属性。
171+
修饰器第一个参数是类的原型对象,上例是`Person.prototype`,修饰器的本意是要“修饰”类的实例,但是这个时候实例还没生成,所以只能去修饰原型(这不同于类的修饰,那种情况时`target`参数指的是类本身);第二个参数是所要修饰的属性名,第三个参数是该属性的描述对象。
172+
173+
另外,上面代码说明,修饰器(readonly)会修改属性的描述对象(descriptor),然后被修改的描述对象再用来定义属性。
172174

173175
下面是另一个例子,修改属性描述对象的`enumerable`属性,使得该属性不可遍历。
174176

docs/proxy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ for (let b in oproxy2) {
530530
// 99
531531
```
532532

533-
上面代码中,`has`拦截只对`in`循环生效,对`for...in`循环不生效,导致不符合要求的属性没有被排除在`for...in`循环之外。
533+
上面代码中,`has`拦截只对`in`运算符生效,对`for...in`循环不生效,导致不符合要求的属性没有被排除在`for...in`循环之外。
534534

535535
### construct()
536536

0 commit comments

Comments
 (0)