作为对象键的变量在IE中不起作用

Cha*_*han 1 javascript jquery

小提琴

var json = {name: 'chan'};
var variable = 'age';

$.extend(json, {[variable]: 35});

$('#result').html(JSON.stringify(json));
Run Code Online (Sandbox Code Playgroud)

该方法适用于除IE之外的大多数流行浏览器,我需要动态定义对象密钥,如何使其在IE上起作用?

Poi*_*nty 8

[]在对象初始化的属性名称符号是ES2015的特征,和旧版本的Internet Explorer不支持它。(所有浏览器的旧版本均不支持它;许多移动设备也将其视为错误。)

但是[ ],您可以在属性分配表达式中使用:

json[variable] = 35;
Run Code Online (Sandbox Code Playgroud)

那应该在任何地方都有效。