何时应使用对象特性速记?
我知道它在对象键和值相同的情况下使用(即cat: cat
可以改写为cat
).但是当我查看代码示例时,我搞不清哪些情况下它们的键和值彼此相等。
let cat = 'Miaow';
let dog = 'Woof';
let bird = 'Peet peet';
let someObject = {
cat,
dog,
bird
}
console.log(someObject);
解决方案
来自文档:
ECMAScript 2015中的新符号1
在不支持的环境中,这些表示法将导致语法错误。
// Shorthand property names (ES2015) let a = 'foo', b = 42, c = {}; let o = {a, b, c} // Shorthand method names (ES2015) let o = { property(parameters) {} } // Computed property names (ES2015) let prop = 'foo' let o = { [prop]: 'hey', ['b' + 'ar']: 'there' }
这些表示法不适用于Internet Explorer。
有关详细信息,请参阅
- MDN JavaScript Reference - Object Initializer - New notations in ECMAScript 2015
- MDN JavaScript Reference - Object Initializer - Browser Compatibility
相关文章