반응형
이 궁금증의 경우, 함수를 표현할 때 function A( ) { }의 표현법을 사용할 지, const A = ( ) => { } 의 표현법을 사용할지에 대해 페어와 고민하다가 갖게 되었다. 그러다 리뷰어님의 도움을 받아 함수 표현식과 함수 선언문이 있다는 것을 알게 되었다.
함수 선언문
function test() {
// 함수 내용
}
- 일반적인 프로그래밍 언어에서 함수를 선언하는 방식으로 함수 리터럴과 모양이 동일하다.
- 함수 이름을 생략할 수 없다.
- Hoisting에 영향을 받는다. 즉, 코드를 구현한 위치와 관계없이 브라우저가 자바스크립트를 해석할 때 맨 위로 끌어올려준다.
함수 표현식
const test1 = function foo() {};
const test2 = function () {}; // 익명 함수
const test3 = () => {}; // 익명 함수 + 화살표 함수
- 함수 표현식은 변수에 함수를 담는 표현 방법이다.
- 자바스크립트에서 함수는 값이다. 따라서 함수도 값처럼 할당, 복사, 선언을 할 수 있다.
- 함수 이름을 생략할 수 있다. 즉, 익명 함수가 가능하다.
- Hoisting에 영향을 받지 않는다. 따라서, 선언 후에 호출 해야한다.
출처
https://gmlwjd9405.github.io/2019/04/20/function-declaration-vs-function-expression.html
반응형
'Javascript' 카테고리의 다른 글
자바스크립트 Hoisting (0) | 2021.09.19 |
---|---|
자바스크립트 Prototype (0) | 2021.09.19 |
DOM (0) | 2021.04.27 |
자바스크립트 This (0) | 2021.04.27 |
No newline at end of file(EOF) (0) | 2021.04.26 |