JavaScript: Property Key

By Xah Lee. Date: . Last updated: .

JavaScript property key must be strings type or symbol type. Property value can be any type. 〔►see JavaScript: Data Types

Symbol is a new type in ES2015. 〔►see JavaScript: Symbol Tutorial

Property String Key

String property keys example:

// string property keys
obj = {"a":1, b:2};

var ks = Object.keys(obj);

console.log(typeof ks[0] === "string"); // true
console.log(typeof ks[1] === "string"); // true

If a key is not symbol or string, it is converted to string implicitly.

console.log( {"3":4, 3:7} ); // { '3': 7 }
// the second key 3 overrides the first, because it's converted to string

When in a literal expression for object {…}, the property names are converted to string, not evaluated as variable.

var aa = "bb";
var oo = {aa:4};   // aa is converted to "aa", not evaluated as variable

console.log( oo.aa === 4 );  // true
console.log( === undefined );  // true

Computed Property Key, Object Literal Expression

To evaluate a variable as property key, use ES2015 feature, by putting it inside a square bracket.

var aa = "bb";
var oo = {[aa]:4};
console.log( oo["bb"] ); // 4

〔►see JavaScript: ES2015 Object Literal Expression Extensions

Property Symbol Key

JavaScript: Symbol Tutorial

JS Object Property Topic

  1. JavaScript: Property Overview
  2. JavaScript: Property Key
  3. JavaScript: Property Dot Notation / Bracket Notation
  4. JavaScript: Create/Delete Property
  5. JavaScript: Get Property, Set Property
  6. JavaScript: Check Property Existence
  7. JavaScript: Access Property, List Properties
  8. JavaScript: Property Attributes
  9. JavaScript: Getter/Setter Properties
  10. JavaScript: Property Descriptor
Like what you read? Buy JavaScript in Depth
or, buy a new keyboard, see Keyboard Reviews.