함수는 내가 다시 쓸 것 같은 기능을 정의해두는 코드의 집합체이다.
나는 이걸 쿠키커터라고 이해하기도 한다.
쿠키를 만들 때마다 커터를 만들 수는 없으니까 쿠키 반죽을 원하는 쿠키 커터로 가공해서 모양있는 쿠키 반죽으로 만들어내는 것이다.
어떤 값을 함수에 넣어서 원하는 처리를 하는데, 이 처리를 다시 또 쓰고 싶을 때 함수로 만들어내는 것이다.
이때 쿠키반죽을 매개변수라고 하고, 가공한 쿠키 반죽을 리턴 값이라고 한다.
return 값이란?
함수에서 결과를 반환할 때 사용한다. return문이 실행되면 코드가 종료된다.
자바스크립트에서 함수를 만들 때는 세 가지 방법이 있다.
익명 함수는 말 그대로 이름을 붙이지 않은 함수이다.
let 함수이름 = funtion(){
코드
};
function 함수이름(){
코드
};
화살표 함수 = 람다식 = Arrow Function은 ECMAScript6에서 새롭게 제공하는 함수 선언 방식이다.
let 함수이름 = () = > {
코드
];
그럼 대체 언제, 어떤 함수를 사용해야 할까?
이걸 선택하기 위해선 함수에 대한 더 많은 이해가 필요하다.
스코프는 변수나 함수가 작동하는 범위를 말한다.
함수 스코프 내에서만 사용 가능한 변수
어디서나 사용 가능한 변수
함수 안에 변수를 선언하면 그 변수는 해당 함수 내에서만 사용할 수 있다.
이 지역 변수와 전역 변수의 개념은 함수에서도 나타난다.
지역 함수는 함수 스코프 내에서만 사용할 수 있는 함수고 전역 함수는 어디서나 사용 가능한 함수이다.
자바스크립트에서는 함수를 변수에 저장할 수 있다. 또한 함수를 저장한 변수를 함수의 매개변수로 사용할 수 있는데, 이때 이 매개변수로 쓰이는 함수를 콜백 함수라고 한다.