let obj = { "info": msg => alert(msg)}let obj2 = { ["info"]: msg => alert(msg)}console.log(obj, obj2);上面一段代碼,通過(guò)Babel翻譯過(guò)后為"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 obj = { "info": function info(msg) { return alert(msg); }};var obj2 = _defineProperty({}, "info", function info(msg) { return alert(msg);});console.log(obj, obj2);最后生成的obj和obj2看上去對(duì)象結(jié)構(gòu)是一致的,咨詢一下各位大神這兩者有什么區(qū)別么
JavaScript defineProperty與直接定義對(duì)象屬性的區(qū)別?
陪伴而非守候
2019-03-09 19:12:40