Здравствуйте!
                    Нужна помощь в понимании что происходит в коде, который считает количество скобок в строке. На одном сайте приведен и детально разобран код приведенный ниже. Однако например я не могу понять что это такое за объект?
let opening = { '[': ']', '{': '}', '(': ')', '<': '>', };
                    
                     Я думаю, что это объект у которого ключи типа 'скобка' и значение типа 'встречная скобка'. Странная и непривычная запись.
(1) Могут быть ключи и значения с такими именами?
(2) Как "работает" запись if(opening[c])? Это эквивалентно if(opening[c]) = true?
Буду благодарен за детальное объяснение как работает этот код. :-)
function correctBrackets(brs){
  let opening = {
    '[': ']',
    '{': '}',
    '(': ')',
    '<': '>',
  };
  let open = 0, close = 0;
  for(let i = 0; i < brs.length; i++){
    let c = brs[i];
    if(opening[c]){
      open++;
    } else {
      close++;
    }
  }
  if(open != close){
    return null;
  }
  // Составляем последовательность
}