title: What’s the purpose of the HTML “nomodule” attribute for script elements if the default is text/javascript?
body: <p>I am not clearly understanding why the <code>nomodule</code> attribute exists in the new browsers that support ES6 modules.</p>
  
  <p>In HTML 5, the <code>type</code> attribute is optional and <a href="http://dev.w3.org/html5/spec/Overview.html#script" rel="noreferrer">defaults to <code>text/javascript</code></a>:</p>
  
  <blockquote>
    <p>The type attribute gives the language of the script or format of the data. If the attribute is present, its value must be a valid MIME type. The charset parameter must not be specified. The default, which is used if the attribute is absent, is "text/javascript".</p>
  </blockquote>
  
  <p>It doesn't default to <code>&lt;script type="module" src="module.js"&gt;&lt;/script&gt;</code>. Has this default changed? If not, why would <code>nomodule</code> be necessary? Can I just use <code>&lt;script src="bundle.js"&gt;&lt;/script&gt;</code> without <code>nomodule</code>?</p>