JavaScript中对象定义末尾的方括号后缀是什么意思?

时间:2019-02-18 01:38:19

标签: javascript object-notation

JavaScript code

我在GitHub上浏览某人的代码时遇到了这个问题,不知道这意味着什么。我会用Google搜索,但是我不熟悉JavaScript,也不知道如何使用Google。任何信息将不胜感激!

var charStr = String.fromCharCode(evt.which);
var value   = (evt.type == 'keydown') ? true : false;

idx = {
  '1': 0x1,'2': 0x2,'3': 0x3,'4': 0x4,
  'Q': 0x4,'W':0x5,'E': 0x6,'R': 0xD,
  'A': 0x7,'S':0x8,'D': 0x9,'F': 0xE,
  'Z': 0xA,'X':0x0,'C': 0xB, 'V':0xF,
}[charStr];

3 个答案:

答案 0 :(得分:2)

这与说的一样:

list1 = list[0].split(" ")
list2 = list[1].split(" ")

它正在创建对象并同时访问对象属性。

进一步阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors#Bracket_notation

答案 1 :(得分:1)

基本上,您看到的是直接在同一定义中访问对象中的属性。

让我们使用一个更简单的示例:

const ourObjectResponse = {
    foo: 'bar'
}['foo']
console.log(ourObjectResponse) // 'bar'

这是因为您正在执行的操作是定义一个对象并立即从该对象获取值。

您可以将其更改为:

const ourObject = {
    foo: 'bar'
};
const ourObjectResponse = ourObject['foo']
console.log(ourObjectResponse) // 'bar'

答案 2 :(得分:0)

您可以使用方框符号来访问对象的属性。通常在属性中有空间的情况下这很有用。像obj [“名字”]。