webdev: (Default)
[personal profile] webdev
It doesn’t. JavaScript arrays on numeric indices only. You can push anything you want into an array, including objects, which is nice.

JavaScript arrays are also objects, so they can have properties like objects. And JavaScript has overloaded its square bracket notation so that square brackets not only refer to array members, but also to properties on objects. Thus:
var myObj = {}; 
myObj.newProp = 4;
console.log(myObj[newProp]); // will output a reference error because newProp (no quotes) is undefined
console.log(myObj[‘newProp’]); // will output 4 on the console.

That’s covered in the ECMA standard, section 11.2.1:
11.2.1 Property Accessors
Properties are accessed by name, using either the dot notation:
MemberExpression . IdentifierName
CallExpression . IdentifierName
or the bracket notation:
MemberExpression [ Expression ]
CallExpression [ Expression ]

You can add all of the properties you want to arrays (I do it all the time) but a property on an array is not a member of that array. That means a property has no index in the array, and cannot be searched for using methods like indexOf. Thus:
var myObj = {};
var myArray = [‘apples’, ‘oranges’, ‘lemons’, ‘pluots’];
console.log(myArray.length); // will output 4 on the console.
myArray.newProp = myObj;  // newProp is now a property on myArray.
console.log(myArray.newProp === myArray[‘newProp’]); // will output true.
console.log(myArray.length); // will output 4 on the console.
console.log(myArray.indexOf(‘newProp’)); // will output -1, because newProp is not a member of the array, it is a property.
From:
Anonymous (will be screened)
OpenID (will be screened if not validated)
Identity URL: 
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org


 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

webdev: (Default)
Jon Reid

October 2013

S M T W T F S
  12 345
6789101112
13141516171819
20212223242526
272829 3031  

Links