1. 함수

2. 속성과 메소드

3. 일급함수 ★★★

(1) 반환 값으로 전달되는 함수 호출 식 → return 값으로 함수의 값을 반환 (함수 식 반환)

(2) 반환 값으로 전달되는 함수 선언 문 → return 값으로 함수를 반환 (함수 문 반환)

                                                     *→ 더 나아가 표현력의 차이를 만듦*

4. 비동기 함수 ★★★

대량의 데이터를 불러오는데 시간이 걸리거나, setTimeout()으로 시간을 지연 시킬 때 비동기적 상황이라 할 수 있다.

(setTimeout, 시간이 걸리는 데이터 처리가 없으면 비동기 코드가 아니고 동기적인 코드이다.)

이런 비동기 코드를 동기 코드와 유연하게 처리하기 위해서는 Promise / async 를 사용한다.