JavaScript기본상식3 함수
JavaScript 기본상식3
개발 기본 상식
출처 : https://github.com/junh0328/prepare_frontend_interview/
* 함수 🔥
* 자바스크립트에서 함수를 정의하는 방법은 몇가지가 있나요?
-
named function declaration (명명 함수 선언)
-
anonymous function expression (익명 함수 표현)
-
named function expression (명명 함수 표현)
-
Immediately-invoked expression (즉시 실행 표현)
-
function constructor
-
arrow function (화살표 함수)
* 함수 선언문과 함수 표현식은 어떤 차이가 있나요?
함수 선언식 - Function Declarations
일반적인 프로그래밍 언어에서의 함수 선언과 비슷한 형식이다.
function 함수명() {
구현 로직
}
JsCopy
// 예시
function funcDeclarations() {
return 'A function declaration';
}
funcDeclarations(); // 'A function declaration'
함수 표현식 - Function Expressions
유연한 자바스크립트 언어의 특징을 활용한 선언 방식
var 함수명 = function () {
구현 로직
};
JsCopy
// 예시
var funcExpression = function () {
return 'A function expression';
}
funcExpression(); // 'A function expression'
함수 선언식과 표현식의 차이점
함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다.
함수 선언식은 코드를 구현한 위치와 관계없이 자바스크립트의 특징인 호이스팅에 따라 브라우저가 자바스크립트를 해석할 때 맨 위로 끌어 올려진다