代码之家  ›  专栏  ›  技术社区  ›  one-hand-octopus

在key:value对象中,按键输出值和按数组输出值有什么区别?[副本]

  •  0
  • one-hand-octopus  · 技术社区  · 4 年前

    考虑以下情况:

    console.log({a: 1}.a);
    console.log({a: 1}['a']);
    

    两者都输出 1 ,它们之间有什么区别?输出值1时应该使用哪一个?

    1 回复  |  直到 4 年前
        1
  •  0
  •   Thomas Sablik    4 年前

    使用第二种语法,您可以使用空格、运算符、变量和操作,例如:

    const keyPrefix = 'a';
    console.log({'a+ 1': 1}[keyPrefix + '+ ' + (3 - 2)]);

    对于第一种语法,这是不可能的。 “输出值1时应该使用哪一个?” 如果第一种语法不可能,则必须使用第二种语法。在所有其他情况下,它都是基于意见的。他们有相同的行为。 {a: 1}.a 是语法糖 {a: 1}['a'] .