web_dev_style: add "Object literal extensions" to allowed ES
Discussion: https://groups.google.com/a/chromium.org/d/msg/chromium-dev/RqOdTlxuGVg/M7I0CTryDQAJ Bug: None Change-Id: I43cb19e50bf9addc530d728f4f002afa16bd6f5a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1993388 Commit-Queue: Dan Beam <dbeam@chromium.org> Auto-Submit: Dan Beam <dbeam@chromium.org> Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org> Cr-Commit-Position: refs/heads/master@{#729898}
This commit is contained in:
@@ -588,6 +588,47 @@ section.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Object Literal Extensions
|
||||||
|
|
||||||
|
Convenient new ways for object property definition.
|
||||||
|
|
||||||
|
**Usage Example:**
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Computed property name
|
||||||
|
const prop = 'foo';
|
||||||
|
const o = {
|
||||||
|
[prop]: 'hey',
|
||||||
|
['b' + 'ar']: 'there',
|
||||||
|
};
|
||||||
|
console.log(o); // {foo: 'hey', bar: 'there'}
|
||||||
|
|
||||||
|
// Shorthand property
|
||||||
|
const foo = 1;
|
||||||
|
const bar = 2;
|
||||||
|
const o = {foo, bar};
|
||||||
|
console.log(o); // {foo: 1, bar: 2}
|
||||||
|
|
||||||
|
// Method property
|
||||||
|
const clearSky = {
|
||||||
|
// Basically the same as clouds: function() { return 0; }.
|
||||||
|
clouds() { return 0; },
|
||||||
|
color() { return 'blue'; },
|
||||||
|
};
|
||||||
|
console.log(clearSky.color()); // 'blue'
|
||||||
|
console.log(clearSky.clouds()); // 0
|
||||||
|
```
|
||||||
|
|
||||||
|
**Documentation:** [link](https://tc39.github.io/ecma262/#sec-object-initialiser)
|
||||||
|
[link](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer)
|
||||||
|
|
||||||
|
**Discussion Notes / Link to Thread:**
|
||||||
|
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/RqOdTlxuGVg/M7I0CTryDQAJ
|
||||||
|
|
||||||
|
Note: clang-format has some issues formatting complex computed property names.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Banned Features
|
## Banned Features
|
||||||
|
|
||||||
The following features are banned for Chromium development.
|
The following features are banned for Chromium development.
|
||||||
@@ -655,44 +696,6 @@ hide(document.body, false); // Not animated.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Object Literal Extensions
|
|
||||||
|
|
||||||
Convenient new ways for object property definition.
|
|
||||||
|
|
||||||
**Usage Example:**
|
|
||||||
|
|
||||||
```js
|
|
||||||
// Computed property name
|
|
||||||
const prop = 'foo';
|
|
||||||
const o = {
|
|
||||||
[prop]: 'hey',
|
|
||||||
['b' + 'ar']: 'there',
|
|
||||||
};
|
|
||||||
console.log(o); // {foo: 'hey', bar: 'there'}
|
|
||||||
|
|
||||||
// Shorthand property
|
|
||||||
const foo = 1;
|
|
||||||
const bar = 2;
|
|
||||||
const o = {foo, bar};
|
|
||||||
console.log(o); // {foo: 1, bar: 2}
|
|
||||||
|
|
||||||
// Method property
|
|
||||||
const clearSky = {
|
|
||||||
// Basically the same as clouds: function() { return 0; }.
|
|
||||||
clouds() { return 0; },
|
|
||||||
color() { return 'blue'; },
|
|
||||||
};
|
|
||||||
console.log(clearSky.color()); // 'blue'
|
|
||||||
console.log(clearSky.clouds()); // 0
|
|
||||||
```
|
|
||||||
|
|
||||||
**Documentation:** [link](https://tc39.github.io/ecma262/#sec-object-initialiser)
|
|
||||||
[link](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer)
|
|
||||||
|
|
||||||
**Discussion Notes / Link to Thread:**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Binary & Octal Literals
|
### Binary & Octal Literals
|
||||||
|
|
||||||
**Usage Example:**
|
**Usage Example:**
|
||||||
|
Reference in New Issue
Block a user