什么是除字符串/数组之外的数组?

时间:2018-05-22 03:23:59

标签: javascript

尝试通过阅读underscore源代码来学习javascript,并遇到以下代码:

var shallowProperty = function(key) {
  return function(obj) {
    return obj == null ? void 0 : obj[key];
  };
};

var getLength = shallowProperty('length');

console.log(getLength('123'))//3
console.log('123'['length'])//3

console.log(getLength(['1','2']))//2
console.log(['1','2']['length'])//2

我的问题是,除了[length]之外,['1','2']是什么?任何技术术语都可以称之为?我们在哪里可以获得除length以外的其他可用键/属性的完整列表?

2 个答案:

答案 0 :(得分:1)

数组是一个JavaScript对象。对象可以有properties。您可以通过以下几种方式访问​​它们:

myObject.property
myObject['property']

请参阅此MDN documentation

显示对象的所有属性:

Object.getOwnPropertyNames(myObject);

您可能希望参考此question来列出对象的属性。

答案 1 :(得分:1)

假设您有以下object

let person = {
  name: 'foo',
  age: 23
}

// Then, there are two possible ways to get the properties of "person" object

console.log(person.name); // logs 'foo'
console.log(person['name']); // logs 'foo'