<script></script>

The script element allows develop to add JavaScript code inside an HTML file.

The defer attribute specifies scripts should be executed after the HTML file is completely parsed. When the HTML parser encounters a <script> element with the defer attribute, it loads the script but defers the actual execution of the JavaScript until it finishes parsing the rest of the elements in the HTML file.

The async attribute loads and executes the script asynchronously with the rest of the webpage. This means that, similar to the defer attribute, the HTML parser will continue parsing the rest of the HTML as the script is downloaded in the background. However, with the async attribute, the script will not wait until the entire page is parsed: it will execute immediately after it has been downloaded

console.log('Codecademy'.toUpperCase());
console.log('    Remove whitespace   '.trim());
console.log(Math.random());
Math.floor(Math.random() * 50);

console.log(Math.floor(Math.random() * 100));
console.log(Math.ceil(43.8));
console.log(Number.isInteger(2017));

console.log('Hello'.toLowerCase())