Такой вариант записи используют в
JS, когда надо получить ключ или вызвать функцию с помощью переменной.
Это возможность самого языка, а не конструкция
jquery.
var foo = {
bar: 'bar value',
};
console.log(foo.bar);
// => bar value
console['log'](foo['bar']);
// => bar value
Разберем ваш пример. Такая запись:
var action = 'addClass';
$('.some-selector')[action]('some-class');
равносильна такой:
$('.some-selector').addClass('some-class');
То же самое для объекта:
var key = 'name';
var obj = {
name: 'Tom',
age: 24,
};
console.log(obj[key]);
// => Tom
console.log(obj.name);
// => Tom
console.log(obj[key] === obj.name);
// => true
key = 'age';
console.log(obj[key]);
// => 24
Так же есть случаи, когда к ключу можно обратиться только таким способом:
var obj = {
'three words key': 'value',
};
console.log(obj['three words key']);
// => value