Omitting the attribute, setting it to the empty string, or setting it to a
JavaScript MIME type essence match means that the script is a classic
script, to be interpreted according to the JavaScript Script top-level production. Authors should omit the type attribute instead of redundantly setting it.
Setting the attribute to an ASCII case-insensitive match for "module" means that the script is a JavaScript module script, to
be interpreted according to the JavaScript Module top-level
production.
Setting the attribute to an ASCII case-insensitive match for "importmap" means that the script is an import map, containing
JSON that will be used to control the behavior of module specifier resolution.
Setting the attribute to an ASCII case-insensitive match for "speculationrules" means that the script defines a speculation rule
set, containing JSON that will be used to describe speculative loads.
Setting the attribute to any other value means that the script is a data block, which is not processed by the user agent, but instead by author script or other tools.