js обьект и аргумент функции

у меня встал вопрос.Как работает код ниже,а именно момент с return rub* rate[currency] Я правильно понимаю ,что в аргумент функции мы передаем обьект rate?Но почему тогда аргумент в квадратных скобках?Где про это можно прочитать?(я видимо плохо искал ничего не нашел похожего).

const rate = {
    usd: 0.026 ,
    eur: 0.024,
}

function convert(rub,currency){
    if(!rate[currency]) {
        return null
    }
    return rub * rate[currency]
}

Ответы (1 шт):

Автор решения: Алексей Шиманский

Я правильно понимаю ,что в аргумент функции мы передаем обьект rate

Нет. Тут два параметра, например 999 и usd или 123 и eur

почему тогда аргумент в квадратных скобках?

К свойствам объекта можно обращаться не только через точку (типа rate.usd), но и через квадратные скобки (типа rate['usd']). Называется скобочная нотация. В итоге, если currency будет 'usd', то будет в итоге rate['usd'] и, соответственно, значение по этому ключу 0,026

→ Ссылка