JS: Property Dot Notation / Bracket Notation

By Xah Lee. Date: . Last updated: .

There are 2 syntax to access a object's property:

They are equivalent, except:

Example of a property name with space in it:

// property name that contains space
const x = {"a b": 8};

console.log( x["a b"] === 8 ); // true

// the following are syntax errors

// x[a b]
// SyntaxError: Unexpected identifier

// x."a b"
// SyntaxError: Unexpected string

Example of a property name of digits:

// a property with name that's a digit
const x = {"3":8};

console.log( x["3"] === 8); // true

console.log(x[3]); // 8
// JavaScript automatically convert 3 to string


// following are syntax errors
// dot notation cannot be used

x."3"
// SyntaxError: Unexpected string

x.3
// SyntaxError: Unexpected number

Here's a example of creating property with a name from the value of a variable.

// creating a property, with name from a value of variable
// dot notation won't work

const obj = {"p1":1};
const v = "p2";

obj[v] = 2;

console.log(obj); // { p1: 1, p2: 2 }

JS Object Property Topic

  1. JS: Property Overview
  2. JS: Property Key
  3. JS: Property Dot Notation / Bracket Notation
  4. JS: Create/Delete Property
  5. JS: Get Property, Set Property
  6. JS: Check Property Existence
  7. JS: Access Property
  8. JS: Property Attributes, writable, enumerable, configurable
  9. JS: Getter/Setter Properties
  10. JS: Property Descriptor
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.