skip to Main Content

In an interview, I was asked the question as described in the title. I think the interviewer wanted to ask about the underlying principles of property accessors in js. So what I want to know is the perfemance and principles instead of difference.

Bracket Notation

const a = { b: { c: 'Bracket Notation' } }
console.log(a['b']['c'])

Dot Notation

const a = { b: { c: 'Dot Notation' } }
console.log(a.b.c)

2

Answers


  1. One of the key differences between dot notation and bracket notation is in their ability to access dynamically generated properties.

    The dynamic property access capability is a significant advantage of bracket notation and is essential when you need to compute the property name at runtime. It allows you to access properties that you couldn’t access using dot notation, such as properties with spaces or special characters, or properties whose names are stored in variables.

    Performance-wise, there used to be a minor difference between the two in older JavaScript engines, with dot notation being slightly faster. However, modern JavaScript engines have optimized both notations to a point where the difference is negligible.

    Login or Signup to reply.
  2. Dot Notation:

    Dot notation is more concise and easier to read.
    It is the preferred way to access properties when you know the property name in advance.
    Dot notation is generally faster because it’s more optimized by JavaScript engines.

    var person = {
        name: 'John',
        age: 30
    };
    
    var name = person.name; // Using dot notation
    

    Bracket Notation:

    Bracket notation is more flexible because it allows you to access properties using dynamic property names or properties with spaces or special characters.
    It is used when the property name is not known in advance and is stored in a variable.

    var person = {
        'first name': 'John',
        age: 30
    };
    
    var propName = 'age';
    var age = person[propName]; // Using bracket notation with a variable
    

    In terms of performance, dot notation is generally faster because it’s optimized by JavaScript engines. However, the difference in performance is often negligible in most real-world scenarios, and you should prioritize code clarity and readability over micro-optimizations.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search