【问题标题】:What does "return {}[]" mean in JavaScript?JavaScript 中的“return {}[]”是什么意思?
【发布时间】:2018-08-23 13:05:05
【问题描述】:

这是一个更广泛的例子:

let someVariable = 1;
return {
  'Example String': 'example_string',
  'Example String 2': 'example_string_2'
}[someVariable];

【问题讨论】:

标签: javascript return javascript-objects


【解决方案1】:

这意味着您正在访问对象中该特定键的值 例如:

someVariable = 'Example String';
{
  'Example String': 'example_string',
  'Example String 2': 'example_string_2'
}[someVariable];

上面的代码会输出:

example_string

【讨论】:

    【解决方案2】:

    将您发布的代码作为说明您的观点的示例(应该在实际应用中进行修改;请参阅下面的工作 sn-p)...

    它返回与对象中的值等于someVariable的值的键关联的值

    {'Example String': 'example_string', 'Example String 2': 'example_string_2'}.

    在这种情况下,它将返回 undefined,因为此对象中没有名称为 1 (someVariable) 的键。

    但如果someVariable'Example String',它将返回example_string。见下文:

    let someVariable = 1;
    
    function getValue(key) {
      return {
        'Example String': 'example_string',
        'Example String 2': 'example_string_2'
      }[key]
    }
    
    console.log(getValue(someVariable));
    console.log(getValue('Example String'));

    【讨论】:

      【解决方案3】:

      您的示例将返回undefined,但如果someVariable 等于'Example String',它将返回'example_string'

      【讨论】:

        【解决方案4】:

        稍微改写一下可能更容易理解:

        let someVariable = 1;
        let someObject = {
          'Example String': 'example_string',
          'Example String 2': 'example_string_2'
        };
        
        return someObject[someVariable];
        

        它试图返回对象的“索引”1,这当然是行不通的(因为对象没有索引)。

        【讨论】:

        • 您无法访问具有数组索引的对象
        猜你喜欢
        • 2014-12-31
        • 2022-11-15
        • 1970-01-01
        • 2017-03-02
        • 2022-01-09
        • 2011-08-22
        • 1970-01-01
        • 2018-01-23
        • 2017-06-11
        相关资源
        最近更新 更多