ES2015允许使用表达式作为属性名。
编译前:
const HELLO = 'hello'; let dog = { [HELLO](){ console.log('hello'); } }
编译后:
"use strict"; // 对象添加属性 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 HELLO = "hello"; // 创建对象 var dog = _defineProperty({}, HELLO, function() { console.log("hello"); });