Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Как работает [' '] конструкция (https://javascript.ru/forum/node-js-io-js/69320-kak-rabotaet-%5B%27-%27%5D-konstrukciya.html)

Trif 14.06.2017 10:10

Как работает [' '] конструкция
 
Здраствуйте при вызове метода в двух вариантах:

someObject.someMethod(); и someObject['someMethod']();

код работает одинаково однако мне интересно как работает сама по себе конструкция [' '] в гугле упоминаний найти не смог да и честно говоря не представляю как такое гуглить.

ksa 14.06.2017 10:16

Цитата:

Сообщение от Trif
как работает сама по себе конструкция [' ']

Прямо в букваре...
https://learn.javascript.ru/object#...-скобки

Audaxviator 14.06.2017 15:27

Фишка квадратных скобок в том, что в них можно указывать в качестве ключей вычисляемые выражения. В простом случае, когда ключ объекта указывается в кавычках в квадратных скобках, - строка "вычисляется" в ключ. Точно так же, как Нода автоматически переделывает "ключи" JSON-файла (который есть просто длинная строка) в ключи, делая из него сразу объект.
Но так можно указывать любые вычисляемые выражения, возвращающие строку. Например - функцию, возвращающую строку, которая будет "вычислена" в ключ, по которому будет получено его значение. Примерно так:
function env() {
	return 'development';
}

var obj = {
	development: 'production'
};

var res = obj[env()];
console.log(res);


В консоль выведет значение - 'production'.


Часовой пояс GMT +3, время: 14:33.