es6에서 추가된 함수의 기능을 살펴보기 전에 함수의 기본을 알고 가도록 하겠다!
함수는 기본적으로 이렇게 쓰인다.
|
|
자바스크립트는 함수를 호출하지 않고 다른 값과 마찬가지로 참조하기만 할 수 있다는 특징을 가지고 있는 유연한 언어. 그렇기 때문에 함수를 변수에 할당하여 다른 이름으로 함수를 호출할 수도 있다.
|
|
또한 함수를 객체 프로퍼티나 배열요소에도 할당 할 수 있다.
함수를 호출하면서 정보를 전달 할 떄, 즉 함수에 정보를 전달하려면 매개변수를 이용한다. 매개변수는 함수가 호출되기 전에는 존재하지 않는다는 점을 제외하면 일반적인 변수와 마찮가지.
|
|
자바스크립트에서는 다른 함수들 과는 다르게 매개변수 갯수와 상관없이 몇개의 매개변수를 전달해도 됨. 정해진 매개 변수에 값을 제공하지 않으면 암시적으로 undefined
가 할당된다
|
|
ES6에 추가된 매개변수 기본값 지정하기
일반적으로 매개변수 값을 지정하지 않으면 위에처럼 undefined가 값으로 할당된다. ES6에서는 기본값을 지정 할 수 있게 되었다.
|
|
화살표 함수
ES6에서 새로만든 화살표 표기법은 function
이라는 단어와 중괄호 숫자를 줄이려고 고안된 단축 문법입니다.
화살표 문법은 다음과 같은 특징을 가진다.
- function을 생략해도 됨
- 함수에 매개변수가 단 하나 뿐이라면 괄호(())도 생략할 수 있음
- 함수 바디가 표현식 하나라면 중괄호와 return문도 생략할 수 있다.
|
|
화살표 함수는 항상 익명함수이다. 만약 이름 붙인 함수가 필요하다면 평소에 하던 방식으로 함수를 만들면 된다.
화살표 함수는 위의 특징 말고도
- this가 다른 변수와 마찬가지로 정적으로 묶인다.
- 객체사용자로 사용할 수 없다.
- arguments변수도 사용할 수 없다. 확산 연산자가 ES6에서 생겼으니 필요없다고 하기도 한다.
처음에 만들었던 함수를 화살표 함수로 바꾸어 보장