Как работает [' '] конструкция
Здраствуйте при вызове метода в двух вариантах:
someObject.someMethod(); и someObject['someMethod'](); код работает одинаково однако мне интересно как работает сама по себе конструкция [' '] в гугле упоминаний найти не смог да и честно говоря не представляю как такое гуглить. |
Цитата:
https://learn.javascript.ru/object#�...�-скобки |
Фишка квадратных скобок в том, что в них можно указывать в качестве ключей вычисляемые выражения. В простом случае, когда ключ объекта указывается в кавычках в квадратных скобках, - строка "вычисляется" в ключ. Точно так же, как Нода автоматически переделывает "ключи" JSON-файла (который есть просто длинная строка) в ключи, делая из него сразу объект.
Но так можно указывать любые вычисляемые выражения, возвращающие строку. Например - функцию, возвращающую строку, которая будет "вычислена" в ключ, по которому будет получено его значение. Примерно так: function env() { return 'development'; } var obj = { development: 'production' }; var res = obj[env()]; console.log(res); В консоль выведет значение - 'production'. |
Часовой пояс GMT +3, время: 18:39. |