Skip to content

Commit bae4e98

Browse files
committed
docs(stdlib/attribute): fixed wangdoc#226 edit configurable
1 parent 9ca16cd commit bae4e98

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

docs/stdlib/attributes.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ JavaScript 提供了一个内部数据结构,用来描述对象的属性,控
3333

3434
(4)`configurable`
3535

36-
`configurable`是一个布尔值,表示可配置性,默认为`true`。如果设为`false`将阻止某些操作改写该属性,比如无法删除该属性,也不得改变该属性的属性描述对象`value`属性除外)。也就是说,`configurable`属性控制了属性描述对象的可写性。
36+
`configurable`是一个布尔值,表示属性的可配置性,默认为`true`。如果设为`false`将阻止某些操作改写属性描述对象,比如无法删除该属性,也不得改变各种元属性`value`属性除外)。也就是说,`configurable`属性控制了属性描述对象的可写性。
3737

3838
(5)`get`
3939

@@ -350,7 +350,7 @@ JSON.stringify(obj) // "{}"
350350

351351
### configurable
352352

353-
`configurable`(可配置性)返回一个布尔值,决定了是否可以修改属性描述对象。也就是说,`configurable``false`时,`value``writable``enumerable``configurable`都不能被修改了。
353+
`configurable`(可配置性)返回一个布尔值,决定了是否可以修改属性描述对象。也就是说,`configurable``false`时,`writable``enumerable``configurable`都不能被修改了。
354354

355355
```javascript
356356
var obj = Object.defineProperty({}, 'p', {
@@ -360,9 +360,6 @@ var obj = Object.defineProperty({}, 'p', {
360360
configurable: false
361361
});
362362

363-
Object.defineProperty(obj, 'p', {value: 2})
364-
// TypeError: Cannot redefine property: p
365-
366363
Object.defineProperty(obj, 'p', {writable: true})
367364
// TypeError: Cannot redefine property: p
368365

@@ -371,11 +368,14 @@ Object.defineProperty(obj, 'p', {enumerable: true})
371368

372369
Object.defineProperty(obj, 'p', {configurable: true})
373370
// TypeError: Cannot redefine property: p
371+
372+
Object.defineProperty(obj, 'p', {value: 2})
373+
// TypeError: Cannot redefine property: p
374374
```
375375

376-
上面代码中,`obj.p``configurable``false`。然后,改动`value``writable``enumerable``configurable`,结果都报错。
376+
上面代码中,`obj.p``configurable`属性为`false`。然后,改动`writable``enumerable``configurable`,结果都报错。
377377

378-
注意,`writable`只有在`false`改为`true`会报错`true`改为`false`是允许的。
378+
注意,`writable`属性只有在`false`改为`true`时会报错`true`改为`false`是允许的。
379379

380380
```javascript
381381
var obj = Object.defineProperty({}, 'p', {
@@ -387,7 +387,7 @@ Object.defineProperty(obj, 'p', {writable: false})
387387
// 修改成功
388388
```
389389

390-
至于`value`只要`writable``configurable`有一个为`true`,就允许改动。
390+
`value`属性的情况比较特殊。只要`writable``configurable`有一个为`true`,就允许改动`value`
391391

392392
```javascript
393393
var o1 = Object.defineProperty({}, 'p', {
@@ -409,7 +409,7 @@ Object.defineProperty(o2, 'p', {value: 2})
409409
// 修改成功
410410
```
411411

412-
另外,`writable``false`时,直接目标属性赋值,不报错,但不会成功。
412+
另外,`writable``false`时,直接对目标属性赋值,不报错,但不会成功。
413413

414414
```javascript
415415
var obj = Object.defineProperty({}, 'p', {

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
},
3636
"homepage": "https://github.com/wangdoc/javascript-tutorial",
3737
"dependencies": {
38-
"gh-pages": "^3.1.0",
38+
"gh-pages": "^3.2.0",
3939
"husky": "^4.3.8",
4040
"loppo": "^0.6.23",
4141
"loppo-theme-wangdoc": "^0.5.2"

0 commit comments

Comments
 (0)