Skip to content

Commit 3baba14

Browse files
committed
docs(object): edit 简洁表示法
1 parent 8870871 commit 3baba14

File tree

1 file changed

+13
-20
lines changed

1 file changed

+13
-20
lines changed

docs/object.md

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## 属性的简洁表示法
66

7-
ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
7+
ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
88

99
```javascript
1010
const foo = 'bar';
@@ -15,7 +15,7 @@ baz // {foo: "bar"}
1515
const baz = {foo: foo};
1616
```
1717

18-
上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。下面是另一个例子。
18+
上面代码中,变量`foo`直接写在大括号里面。这时,属性名就是变量名, 属性值就是变量值。下面是另一个例子。
1919

2020
```javascript
2121
function f(x, y) {
@@ -125,32 +125,25 @@ const cart = {
125125
}
126126
```
127127

128-
注意,简洁写法的属性名总是字符串,这会导致一些看上去比较奇怪的结果
128+
简洁写法在打印对象时也很有用
129129

130130
```javascript
131-
const obj = {
132-
class () {}
131+
let user = {
132+
name: 'test'
133133
};
134134

135-
// 等同于
136-
137-
var obj = {
138-
'class': function() {}
135+
let foo = {
136+
bar: 'baz'
139137
};
140-
```
141-
142-
上面代码中,`class`是字符串,所以不会因为它属于关键字,而导致语法解析报错。
143138

144-
如果某个方法的值是一个 Generator 函数,前面需要加上星号。
145-
146-
```javascript
147-
const obj = {
148-
* m() {
149-
yield 'hello world';
150-
}
151-
};
139+
console.log(user, foo)
140+
// {name: "test"} {bar: "baz"}
141+
console.log({user, foo})
142+
// {user: {name: "test"}, foo: {bar: "baz"}}
152143
```
153144

145+
上面代码中,`console.log`直接输出`user``foo`两个对象时,就是两组键值对,可能会混淆。把它们放在大括号里面输出,就变成了对象的简洁表示法,每组键值对前面会打印对象名,这样就比较清晰了。
146+
154147
## 属性名表达式
155148

156149
JavaScript 定义对象的属性,有两种方法。

0 commit comments

Comments
 (0)