Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2017, 10:10
Новичок на форуме
Отправить личное сообщение для Trif Посмотреть профиль Найти все сообщения от Trif
 
Регистрация: 14.06.2017
Сообщений: 2

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

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

код работает одинаково однако мне интересно как работает сама по себе конструкция [' '] в гугле упоминаний найти не смог да и честно говоря не представляю как такое гуглить.
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2017, 10:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Trif
как работает сама по себе конструкция [' ']
Прямо в букваре...
https://learn.javascript.ru/object#...-скобки
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2017, 15:27
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

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

var obj = {
	development: 'production'
};

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


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

Последний раз редактировалось Audaxviator, 14.06.2017 в 15:45.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает NodeJS erkesh Node.JS 2 24.07.2016 18:31
Owl carousel 2 не работает с табами - как поправить? ligisayan jQuery 7 08.05.2016 13:41
Как же работает fireViewEvent() в ViewController Пролетарий ExtJS 10 06.06.2015 17:18
опишите, как работает функция Egor1324 AJAX и COMET 5 18.02.2015 08:29
Индексация AJAX сайтов - Как это работает? byFahrenheit AJAX и COMET 4 21.02.2013 17:09