1. 자바스크립트

자바스크립트는 1990년대 Netscape 회사의 Brendan Eich 라는 사람에 의해 처음 개발되었다. 자바스크립트가 잘 되자, MS에서 Jscript라는 언어를 개발해 IE에 탑재하였는데, 이 두 스크립트가 너무 달라서 표준이 필요하게 되었다.


2. ECMA 스크립트

자바스크립트의 코어라고 할 수 있다.

ECMA 인터내셔널의 ECMA-262, ECMA-402 스펙으로 표준화된 자바스크립트 언어이다.

일반적으로 클라이언트 사이드 스크립트로 사용되지만 Node.js 기반의 서버 프로그램에서도 사용된다.

ECMAScript 6, ECMAScript 7 등이 있음.


3. Arrow Function (화살표 함수)

특징 : Function express의 대체로 오른쪽 expr인 경우 그 값을 리턴한다. block은 return이 필요하며 외부의 this를 그대로 사용한다.

(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression

(singleParam) => { statements }
singleParam => { statements }

() => { statements }

4. Async/Await

4.1. 동기식

<script>
let first = 100
let second = 200
let result = 0

function add(x, y) {
  return x + y
}

setTimeout(function() {
  result = add(first, second)
  console.log(result)
}, 1000)

first = 20
</script>

4.2. 비동기식

<script>
let first = 100
let second = 200
let result = 0

function add(x, y) {
  return x + y
}
function getResult(callback) {
  setTimeout(function() {
    result = add(first, second)
    console.log(result)
    callback()
  }, 1000)
}

getResult(function() {
  first = 20
})
</script>