Async attribute

If by using the “async attribute”, the script will not wait until the entire page is parsed and will execute immediately after it has been downloaded, then what’s the difference between using it vs. not using it at all?
More precisely what’s the difference between these two?

<script id="blue" src="turnBlue.js" async></script>
<script id="blue" src="turnBlue.js"</script>

Anyone able to answer this question?

It think the defer attribute is used so that a script does not run until after the rest of the html loads and runs.
The async attribute is used to have scripts load at the same as the page loads (and at the same time as each other, I guess).