Javascript 解释表达式:对象后跟数组

Javascript 解释表达式:对象后跟数组,javascript,expression,Javascript,Expression,我看到了如下javascript表达式: var foo={…}[…]; 有人能解释一下这是什么意思吗 致意 更新: 这是一个代码示例: var ENV_生产={ 制作:对,, 发展:错误 }[process.ENV.NODE|u ENV| |“development”]; 它将按键值返回内部值: var foo={ “1”:“果酱”, “2”:“Stuff”}[1]; 变量条={ “1”:“果酱”, “2”:“Stuff”}[2]; 变量阻塞={ “1”:“果酱”, “B”:“其他东西”}

我看到了如下javascript表达式:

var foo={…}[…];
有人能解释一下这是什么意思吗

致意

更新: 这是一个代码示例:

var ENV_生产={
制作:对,,
发展:错误
}[process.ENV.NODE|u ENV| |“development”];

它将按键值返回内部值:

var foo={
“1”:“果酱”,
“2”:“Stuff”}[1];
变量条={
“1”:“果酱”,
“2”:“Stuff”}[2];
变量阻塞={
“1”:“果酱”,
“B”:“其他东西”}['B'];
变量foobar={
"...": "...",
“B”:“其他材料”}['…'];

console.log(foo、bar、jam、foobar)
它将按键值返回内部值:

var foo={
“1”:“果酱”,
“2”:“Stuff”}[1];
变量条={
“1”:“果酱”,
“2”:“Stuff”}[2];
变量阻塞={
“1”:“果酱”,
“B”:“其他东西”}['B'];
变量foobar={
"...": "...",
“B”:“其他材料”}['…'];
console.log(foo、bar、jam、foobar)
这是符合ES6的操作员

扩展语法允许在以下位置扩展表达式: 多个参数(用于函数调用)或多个元素(用于 数组文字)或多个变量(用于解构赋值) 这是意料之中的事

这是符合ES6的操作员

扩展语法允许在以下位置扩展表达式: 多个参数(用于函数调用)或多个元素(用于 数组文字)或多个变量(用于解构赋值) 这是意料之中的事


它是对对象元素的引用

在控制台中尝试:

var x = {a:1}['a'];

x=1是对对象元素的引用

在控制台中尝试:

var x = {a:1}['a'];

x=1

请提供一个工作示例,空对象和空数组(
var a={}[]
)给出了语法错误,因此它是无效的。它实际上是一个数组(如
[1,2,3]
),还是仅仅是一个可以计算为属性名的东西?您对表达式的简化太多了。
var values={key1:'value1',key2:'value2'};var key='key1';var foo=值[键]
?你能分享准确的代码吗?
x={foo:42,bar:'baz'}['foo']
是一个立即调用的对象文字。请提供一个工作示例,空对象和空数组(
var a={}[]
)给出语法错误,因此它无效。它实际上是一个数组吗(如
[1,2,3]
),或者只是计算为属性名称的东西?您对表达式的简化太多了。
var values={key1:'value1',key2:'value2'};var key='key1';var foo=值[键]
?你能分享准确的代码吗?
x={foo:42,bar:'baz'}['foo']
是一个立即调用的对象文本。我怀疑在这种情况下,
只是OP的一个简化,用来表示其他内容,而不是作为扩展运算符。@JamesThorpe哦..好的。我想OP应该显示准确的代码。我认为这不是解构,可能@Newton的答案是正确的。你能提供一个你的断言的例子吗?@Hitmands对不起,除非你分享你看到的确切代码,否则我不确定我是否能给出相关的答案。我怀疑在这种情况下,
只是OP的一种简化,是为了表示其他内容,而不是作为扩展运算符。@JamesThorpe哦..好的。我想OP应该显示准确的代码。我认为这不是解构,可能@Newton的答案是正确的。你能提供一个你的断言的例子吗?@Hitmands对不起,我不确定我是否能给出相关的答案,除非你分享你看到的确切代码。