根据其他变量定义JavaScript对象的合法方法

根据其他变量定义JavaScript对象的合法方法,javascript,ecmascript-6,javascript-objects,Javascript,Ecmascript 6,Javascript Objects,我非常简单的问题是,我想知道以下代码是否合法: var a = 1; var b = 2; var c = {a,b}; 背景故事:我可以在Chrome中使用上面的代码,但IE11似乎无法使用。是否有类似的(即简洁的)方法可以在所有(最近的)浏览器中使用?这是有效的ES2015。对于不支持这一点的引擎来说,下一个最简洁的东西是常规的{a:a,b:b}它是有效的ES2015。对于不支持它的引擎来说,下一个最简洁的事情是常规的{a:a,b:b},这就是ecmascript 6样式的对象声明。我不确

我非常简单的问题是,我想知道以下代码是否合法:

var a = 1;
var b = 2;
var c = {a,b};

背景故事:我可以在Chrome中使用上面的代码,但IE11似乎无法使用。是否有类似的(即简洁的)方法可以在所有(最近的)浏览器中使用?

这是有效的ES2015。对于不支持这一点的引擎来说,下一个最简洁的东西是常规的
{a:a,b:b}

它是有效的ES2015。对于不支持它的引擎来说,下一个最简洁的事情是常规的
{a:a,b:b}

,这就是ecmascript 6样式的对象声明。我不确定IE是否会实现现代标准,但目前,请改用这个:

var c = {a:a,b:b}

这就是ecmascript 6样式的对象声明。我不确定IE是否会实现现代标准,但目前,请改用这个:

var c = {a:a,b:b}


var c={a:a,b:b}不够简洁?这似乎回答了你的两个问题:minitech:不,我认为不够简洁。我的变量名可能很长。Felix:我正在考虑为IE使用ES6垫片,因此感谢您提供有关ES6中更改的有用信息。@picomp:只需使用
var c={a:1,b:2}
?你怎么能期望它更简洁,你能想象什么样的语法呢?
var c={a:a,b:b}不够简洁?这似乎回答了你的两个问题:minitech:不,我认为不够简洁。我的变量名可能很长。Felix:我正在考虑为IE使用ES6垫片,因此感谢您提供有关ES6中更改的有用信息。@picomp:只需使用
var c={a:1,b:2}
?你怎么能期望它更简洁,你认为它的语法是什么?不,它永远不会从11改进,它死了。edge万岁!不,永远不会从11岁提高,它死了。edge万岁。谢谢你直截了当的回答!我在这方面还是个新手,所以我有一个后续问题。为IE使用ES6垫片来启用此行为是一个好主意吗@不客气!您只能填充对象/方法,而不能填充语法,这就是。您可以使用transfile语法(例如,with)--您可能需要研究一下。有优点也有缺点,这是一个太大的话题,在这里的评论中,但你应该能够找到讨论这一点的信息。我做了一些关于透明度和垫片的更多研究,发现。顺便提一下,我最初问的问题与对象文字扩展有关。我不完全确定你的意思,但任何“文字扩展”都是语法,可以传输,但不能填充。谢谢你直截了当的回答!我在这方面还是个新手,所以我有一个后续问题。为IE使用ES6垫片来启用此行为是一个好主意吗@不客气!您只能填充对象/方法,而不能填充语法,这就是。您可以使用transfile语法(例如,with)--您可能需要研究一下。有优点也有缺点,这是一个太大的话题,在这里的评论中,但你应该能够找到讨论这一点的信息。我做了一些关于透明度和垫片的更多研究,发现。顺便提一下,我最初问的问题与对象文字扩展有关。我不完全确定你的意思,但任何“文字扩展”都是语法,可以传输,但不能填充。