Что делают скобки в конце данной записи var t=e[w][N](); язык JavaScript

на днях читал исходный код одного приложения и наткнулся на такой любопытный пример var t=e[w][N](); пытаюсь выяснить что бы это могло значить, никогда не видел что б так писали после декларации какого то массива, кто знает в чем тут дело и что происходит? давайте подумаем вместе


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

Автор решения: Pavel Grishaev

Скобки запускают функцию.

Вот вероятный аналог происходящего, как написали в комментариях:

var e = [ // Массив массивов функций
    [ ()=>{ return 1 }, ()=>{ return 2 }, ()=>{ return 3 } ],
    [ ()=>{ return 'a' }, ()=>{ return 'b' }, ()=>{ return 'c' } ],
    [ ()=>{ return 500 }, ()=>{ return 600 }, ()=>{ return 700 } ]
];

var w = 2, N = 1;

var t = e[w][N](); // Взятие w-шной ячейки, N-ной ячейки, и запуск функции

console.log(t);

Или такой:

var e = { // Объект объектов функций
    a: { x: ()=>{ return 1 }, y: ()=>{ return 2 }, z: ()=>{ return 3 } },
    b: { x: ()=>{ return 'a' }, y: ()=>{ return 'b' }, z: ()=>{ return 'c' } },
    c: { x: ()=>{ return 500 }, y: ()=>{ return 600 }, z: ()=>{ return 700 } }
};

var w = 'c', N = 'z';

var t = e[w][N](); // Взятие w-шного свойства, N-ного свойства, и запуск функции

console.log(t);

→ Ссылка