안전한 자바스크립트를 작성할 수 있도록 돕고, ECMAScript의 진화에 대비하는 모드.
<script src="main.js"></script>
브라우저에서 html 문서를 분석할 때는 코드를 작성된 순서대로 분석하는데 중간에
parsing HTML -> blocked(fetching js, executing js) -> parsing HTML
<script asyn src="main.js"></script>
<script defer src="main.js"></script>
블록 스코프로 변수를 선언한다.
let a = 3;
새로운 블록 범위에서 재선언이 가능하다.
//var hoisting
값을 선언함과 동시에 변경되지 않는다.
모든 논리 연산자는 처음에 나온 값이 결과값을 확정할 수 있다면 그 이후의 코드는 분석하지 않고 다음 코드로 넘어간다.
따라서 무거운 코드가 있다면 가장 마지막에 작성하는 것이 좋다.
first-class function : 변수에 할당이 가능
보통 하나의 기능만을 하도록 작성
재사용이 가능(sub program)
object
function 함수이름(매개변수, 여러 개도 가능){}
function () {} // 익명 함수, 보통 변수에 할당해서 사용
const fun = () =>{} // 화살표 함수
(function a(){})(); //IIFE 즉시 실행 함수, 정의되자마자 실행
드림코딩 : 자바스크립트 기초 강의(ES5+)