[JS] Function
함수 란?
- Javascript에서 기본적인 구성 블록 중의 하나이다.
- 작업을 수행하거나 값을 계산하는 문장 집합이다.
- 함수도 값으로 할당, 복사, 선언할 수 있다.
함수 정의하기
- 함수 선언식(Function Declaration)
- 함수 표현식(Function Expression)
함수 선언식과 표현식의 차이점
문법
- 함수 선언식(Function Declaration)
function 함수명(){
구현 로직
}
// ex)
function getAge(){
return 10;
}
getAge();
- 함수 표현식(Function Expression)
var 함수명 = function(){
구현 로직
};
// ex)
var getAge = function(){
return 10;
}
getAge();
호이스팅
함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다. (Javascript 엔진이 언제 함수를 생성하는지)
- 함수 표현식 : 실제 실행 흐림이 해당 함수에 도달했을 때 함수를 생성한다. 따라서 실행 흐름이 함수에 도달했을 때부터 해당 함수를 호출할 수 있다.
- 함수 선언식 : 함수 선언문이 정의되기 전에도 함수를 호출할 수 있다.
스코프
- 엄격 모드에서 함수 선언문이 코드 블록 내에 위치하면 해당 함수는 블록 내 어디서든 접근할 수 있으나, 블록 밖에서는 함수에 접근하지 못한다.
함수 이름짓기
함수는 어떤 동작을 수행하기 위한 코드를 모아놓은 것입니다. 따라서 함수의 이름은 대개 동사입니다. 함수 이름은 가능한 한 간결하고 명확해야 합니다. 함수가 어떤 동작을 하는지 설명할 수 있어야 하죠. 코드를 읽는 사람은 함수 이름만 보고도 함수가 어떤 기능을 하는지 힌트를 얻을 수 있어야 합니다.
https://poiemaweb.com/js-prototype
https://joshua1988.github.io/web-development/javascript/function-expressions-vs-declarations/
https://ko.javascript.info/function-expressions