File tree Expand file tree Collapse file tree 1 file changed +13
-20
lines changed Expand file tree Collapse file tree 1 file changed +13
-20
lines changed Original file line number Diff line number Diff line change 4
4
5
5
## 属性的简洁表示法
6
6
7
- ES6 允许直接写入变量和函数 ,作为对象的属性和方法。这样的书写更加简洁。
7
+ ES6 允许在大括号里面,直接写入变量和函数 ,作为对象的属性和方法。这样的书写更加简洁。
8
8
9
9
``` javascript
10
10
const foo = ' bar' ;
@@ -15,7 +15,7 @@ baz // {foo: "bar"}
15
15
const baz = {foo: foo};
16
16
```
17
17
18
- 上面代码表明,ES6 允许在对象之中,直接写变量 。这时,属性名为变量名, 属性值为变量的值 。下面是另一个例子。
18
+ 上面代码中,变量 ` foo ` 直接写在大括号里面 。这时,属性名就是变量名, 属性值就是变量值 。下面是另一个例子。
19
19
20
20
``` javascript
21
21
function f (x , y ) {
@@ -125,32 +125,25 @@ const cart = {
125
125
}
126
126
```
127
127
128
- 注意,简洁写法的属性名总是字符串,这会导致一些看上去比较奇怪的结果 。
128
+ 简洁写法在打印对象时也很有用 。
129
129
130
130
``` javascript
131
- const obj = {
132
- class () {}
131
+ let user = {
132
+ name : ' test '
133
133
};
134
134
135
- // 等同于
136
-
137
- var obj = {
138
- ' class ' : function () {}
135
+ let foo = {
136
+ bar: ' baz'
139
137
};
140
- ```
141
-
142
- 上面代码中,` class ` 是字符串,所以不会因为它属于关键字,而导致语法解析报错。
143
138
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"}}
152
143
```
153
144
145
+ 上面代码中,` console.log ` 直接输出` user ` 和` foo ` 两个对象时,就是两组键值对,可能会混淆。把它们放在大括号里面输出,就变成了对象的简洁表示法,每组键值对前面会打印对象名,这样就比较清晰了。
146
+
154
147
## 属性名表达式
155
148
156
149
JavaScript 定义对象的属性,有两种方法。
You can’t perform that action at this time.
0 commit comments