いつもお世話になっています。
下記の質問についてご教示を願います。


【質問の主旨】

JavaScriptの関数で使われる仮引数がCSSのidセレクタとして使えることはどういう理由に基づくのでしょうか?

【質問の補足】

1.

【質問の主旨】に関するコードは以下のjsファイルとindex.htmlに基づいています。form_list.jsの1行目で使われているnameがidセレクタの名前(2行目で使われているname)になる理由がよく分かりません。

https://github.com/echizenyayota/ch7/blob/developer/js/form_list.js
https://github.com/echizenyayota/ch7/blob/developer/index.html

let getListBox = function(name) {
  let result = [];
  let elems = document.getElementById(name).options;

  for (let i = 0; i < elems.length; i++) {
    if (elems[i].selected) {
      result.push(elems[i].value);
    }
  }
  return result;
};

const os = document.getElementById('os');
os.addEventListener('change', () => {
  console.log(getListBox('os'));
});
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>フォームの操作</title>
</head>

<body>
  <h1>フォームの操作</h1>
  <form>
    <div>
      <label>お使いのOSは?</label>
      <select id="os" multiple size="3">
        <option value="windows">Windows</option>
        <option value="macos">Mac OS</option>
        <option value="unix">Unix</option>
      </select>
    </div>
  </form>
  <script src="js/form_list.js"></script>
</body>

</html>

2.

画像の説明をここに入力

githubにUPしたコードをローカル開発環境で実行して、コンソールに表示するとこのような画面が表示されます。


以上、ご確認よろしくお願い申し上げます。