2020-08-04 15:13:35 +08:00
|
|
|
---
|
|
|
|
id: 587d7b8a367417b2b2512b4f
|
2020-12-16 00:37:30 -07:00
|
|
|
title: 使用简单字段编写简洁的对象字面量声明
|
2020-08-04 15:13:35 +08:00
|
|
|
challengeType: 1
|
|
|
|
forumTopicId: 301225
|
|
|
|
---
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --description--
|
|
|
|
|
2020-08-04 15:13:35 +08:00
|
|
|
ES6 添加了一些很棒的功能,以便于更方便地定义对象。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
2020-08-04 15:13:35 +08:00
|
|
|
请看以下代码:
|
|
|
|
|
|
|
|
```js
|
|
|
|
const getMousePosition = (x, y) => ({
|
|
|
|
x: x,
|
|
|
|
y: y
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`getMousePosition`是一个返回了拥有2个属性的对象的简单函数。 ES6 提供了一个语法糖,消除了类似`x: x`这种冗余的写法.你可以仅仅只写一次`x`,解释器会自动将其转换成`x: x`。 下面是使用这种语法重写的同样的函数:
|
2020-08-04 15:13:35 +08:00
|
|
|
|
|
|
|
```js
|
|
|
|
const getMousePosition = (x, y) => ({ x, y });
|
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --instructions--
|
2020-08-04 15:13:35 +08:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
请使用简单属性对象的语法来创建并返回一个`Person`对象。
|
2020-08-04 15:13:35 +08:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --hints--
|
2020-08-04 15:13:35 +08:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
输出是`{name: "Zodiac Hasbro", age: 56, gender: "male"}`。
|
2020-08-04 15:13:35 +08:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert.deepEqual(
|
|
|
|
{ name: 'Zodiac Hasbro', age: 56, gender: 'male' },
|
|
|
|
createPerson('Zodiac Hasbro', 56, 'male')
|
|
|
|
);
|
2020-08-04 15:13:35 +08:00
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
不要使用`key:value`。
|
2020-08-04 15:13:35 +08:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
(getUserInput) => assert(!getUserInput('index').match(/:/g));
|
2020-08-04 15:13:35 +08:00
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --solutions--
|
|
|
|
|