Publié par Florian Margaine le

J'écris cet article car j'ai remarqué que beaucoup de personnes connaissaient peu ou mal les deux manières disponibles pour accéder à une propriété en JavaScript.

Imaginons que vous avez l'objet suivant :

var obj = {
    foo: 'bar',
    baz: 'bad'
};

Voici les deux manières pour accéder à 'bar':

  • La notation "point" (dot notation) : obj.foo
  • La notation "crochet" (square brackets notation) : obj['foo']

Alors, pourquoi existe-t-il deux manières ? Et surtout, pourquoi utiliser l'une ou l'autre ? Voyons les avantages que nous offrent chaque notation :

Avantages Inconvénients
Dot notation
  • Lisible
  • Concis
  • Et principalement lisible
  • Non programmable (essayez de générer un identifier...)
Square brackets notation
  • Programmable !
  • Moins lisible que l'identifier
  • Plus long à écrire (ça compte !)

Comme vous le voyez, le seul avantage de la square brackets notation est le fait qu'on puisse coder le nom de la propriété. Par exemple, pour l'objet suivant :

var obj = {
    p1: 'foo',
    p2: 'bar',
    p3: 'baz'
};

On peut écrire le code suivant qui va permettre d'accéder aux propriétés :

for (var i = 1; i <= 3; i++) {
    obj['p' + i];
}

Essayez de faire de même avec la dot notation; vous ne pourrez pas !

En clair : utilisez la dot notation, sauf quand vous avez des propriétés dynamiques.

blog comments powered by Disqus