Доступ к свойству JavaScript: точечные обозначения или скобки? - PullRequest
369 голосов
/ 11 февраля 2011

Кроме очевидного факта, что первая форма может использовать переменную, а не просто строковый литерал, есть ли причина использовать одну над другой, и если да, то в каких случаях?

В коде:

// Given:
var foo = {'bar': 'baz'};

// Then
var x = foo['bar'];

// vs. 
var x = foo.bar;

Контекст: я написал генератор кода, который производит эти выражения, и мне интересно, какое из них предпочтительнее.

Ответы [ 11 ]

0 голосов
/ 01 мая 2017

Позвольте мне добавить еще один вариант использования записи в квадратных скобках. Если вы хотите получить доступ к свойству, скажем, x-proxy в объекте, то - будет интерпретировано неправильно. Это и другие случаи, такие как пробел, точка и т. Д., Где точка не поможет. Также, если у вас есть ключ в переменной, то единственный способ получить доступ к значению ключа в объекте - это использовать скобки. Надеюсь, ты получишь больше контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...