Add examples to computed-props and for-of READMEs [skip ci] (#5096)

This commit is contained in:
Brian Ng
2017-01-13 19:23:13 -06:00
committed by Henry Zhu
parent d2113d4881
commit 761079fac0
2 changed files with 133 additions and 27 deletions

View File

@@ -2,6 +2,49 @@
> Compile ES2015 computed properties to ES5
## Example
**In**
```js
var obj = {
["x" + foo]: "heh",
["y" + bar]: "noo",
foo: "foo",
bar: "bar"
};
```
**Out**
```js
var _obj;
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
var obj = (
_obj = {},
_defineProperty(_obj, "x" + foo, "heh"),
_defineProperty(_obj, "y" + bar, "noo"),
_defineProperty(_obj, "foo", "foo"),
_defineProperty(_obj, "bar", "bar"),
_obj
);
```
## Installation
```sh
@@ -46,6 +89,38 @@ require("babel-core").transform("code", {
## Options
* `loose` - Just like method assignment in classes, in loose mode, computed property names
### `loose`
`boolean`, defaults to `false`
Just like method assignment in classes, in loose mode, computed property names
use simple assignments instead of being defined. This is unlikely to be an issue
in production code.
#### Example
***In***
```js
var obj = {
["x" + foo]: "heh",
["y" + bar]: "noo",
foo: "foo",
bar: "bar"
};
```
***Out***
```js
var _obj;
var obj = (
_obj = {},
_obj["x" + foo] = "heh",
_obj["y" + bar] = "noo",
_obj.foo = "foo",
_obj.bar = "bar",
_obj
);
```