Javascript 这个语言特性叫什么:[objectname]:{foo:';Bar';},

Javascript 这个语言特性叫什么:[objectname]:{foo:';Bar';},,javascript,ecmascript-6,Javascript,Ecmascript 6,我第一次看到这个语言特性。这使您能够使用保存在MarkerDest中的名称将值直接分配给变量(也就是“MarkerDest”)。到目前为止,我会这样做:markers[MarkerDest]=… 那么,您将此JavaScript语言功能称为什么? const { MarkerDest, MarkerUpcoming, MarkerNext } = { MarkerDest: 'MarkerDest', MarkerUpcoming: 'MarkerUpcoming', MarkerN

我第一次看到这个语言特性。这使您能够使用保存在
MarkerDest
中的名称将值直接分配给变量(也就是
“MarkerDest”
)。到目前为止,我会这样做:
markers[MarkerDest]=…

那么,您将此JavaScript语言功能称为什么?

const { MarkerDest, MarkerUpcoming, MarkerNext } = {
  MarkerDest: 'MarkerDest',
  MarkerUpcoming: 'MarkerUpcoming',
  MarkerNext: 'MarkerNext',
};

const markers = {
  [MarkerDest]: { foo: 'Bar' },
 };

它被称为计算属性名

资料来源:

  • (计算财产名称部分)

它被称为计算属性名

资料来源:

  • (计算财产名称部分)

    • 这里有几个新功能

      第一行是使用解构赋值从对象中声明值(也可以从数组中声明)。您可以在MDN上了解更多信息:


      将变量用作下一个对象的属性的第二部分称为计算属性,其中变量用作对象内的键。

      这里有两个新功能

      第一行是使用解构赋值从对象中声明值(也可以从数组中声明)。您可以在MDN上了解更多信息:


      将变量用作下一个对象的属性时的第二部分称为计算属性,其中变量用作对象内的键。

      这是ECMAScript 6中的一项新功能,称为。它允许您使用括号中的表达式动态创建属性名称,类似于

      例如:

      ECMAScript 6-语法糖:减少 ECMAScript 5-语法糖:传统
      你可以从中了解更多,真正了解两者的运作方式

      这是ECMAScript 6中的一项新功能,称为。它允许您使用括号中的表达式动态创建属性名称,类似于

      例如:

      ECMAScript 6-语法糖:减少 ECMAScript 5-语法糖:传统
      你可以从中了解更多,真正了解两者的运作方式

      它被称为
      解构赋值
      。检查这里@AnkitAgarwal不是,注意操作问题。它被称为
      解构赋值
      。检查这里@AnkitAgarwal不是,注意OP问题。OP询问的是第二条指令,而不是第一条指令。第一条指令实际上是解构赋值,不过.OP询问的是第二条指令,而不是第一条指令。第一个是解构赋值。
      let obj = {
          foo: "bar",
          [ "baz" + quux() ]: 42
      }
      
      var obj = {
          foo: "bar"
      };
      obj[ "baz" + quux() ] = 42;