【问题标题】:ES5 object conversionES5 对象转换
【发布时间】:2020-07-07 19:36:48
【问题描述】:

如何在 ES5 中构造 favMap 对象以使其返回相同的数据?目前我正在使用 EcmaScript2015 语法创建它,它在 IE 中不起作用。

var company = "Toyota,Honda,Ford";
var companyArray = company.split( "," );

const favMap = {  
  [companyArray[0]]: ["Sedans"],  //this syntax gives error in Internet Explorer
  [companyArray[1]]: ["Suvs"]
};

console.log(favMap);

错误是“预期的标识符、字符串或数字”。在 Internet Explorer 的控制台中运行此代码以查看错误。

【问题讨论】:

  • 您遇到了什么错误?
  • 我不认为你的代码有任何错误
  • 错误是预期的标识符、字符串或数字 @CodeManiac 。在 Internet Explorer 的控制台中运行它。
  • 似乎 IE 不支持对象文字中的计算属性名称。那你为什么不按旧方法做,创建一个对象,然后添加属性。
  • @AnkitHalder 这不是解构赋值

标签: javascript ecmascript-6 ecmascript-5


【解决方案1】:

计算的属性名称are not supported in IE

您可以通过声明一个空对象然后通过括号语法分配属性来实现相同的目的:

const company = "Toyota,Honda,Ford";
const companyArray = company.split( "," );
const favMap = {};

favMap[companyArray[0]] = ['Sedans'];
favMap[companyArray[1]] = ['Suvs'];

console.log(favMap);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 2017-11-08
    • 1970-01-01
    • 2019-09-24
    • 2020-05-29
    相关资源
    最近更新 更多