It's true: "JavaScript files are not reliably cached by browsers, CSS files are
Browsers I know "reliably cache" all kinds of static data (including JS and CSS, as well as images, HTML, etc.) as long as they are served with appropriate cache support headers. Maybe text means something other than actual caching, like parsing once and then storing some efficient internal format ...? I don't know which browsers do or don't do this for different files, but at least from this hypothesis I can understand why (for example) CSS might be easier for the browser to save in a preprocessed form than JS.
a source to share
I see no reason to explicitly express this statement for JavaScript files. However, I can see the argument that caching can be unreliable at all regardless of the file type being sent, depending on the server configuration, additional sent headers, proxies and caches, and how the end user's browser is configured.
a source to share
Setting an expiration date or maximum age in the HTTP headers for static resources instructs the browser to download previously downloaded resources from the local disk rather than over the network.
This is fine if we want the actual cache of the resource. If we want to force a new no-cache loadable set that makes the caches send a request to the origin server for verification before releasing the cached copy each time. This is useful for ensuring that authentication is honored (combined with public) or maintains tough freshness without sacrificing all the benefits of caching.
a source to share