Может ли браузер закэшировать передаваемые ему js-файлы?
Дык кеш так и работает.
Если в хедере не пришло pragma: no-cache, то кеширует
По-умолчанию - именно так и работает.
Но можно сделать свою систему кеширования в localStorage.
Обычно, это необходимо для SPA/PWA одностраничных приложений со сложной логикой обработки данных в js и с полным контролем статуса сетевого соединения, т.к необходима корректная работа при полном отсутствии интернет-соединения: offline-режим.