이번 주제는 자바스크립트에서 함수 선언식과 함수 표현식에 관한 주제이다.
함수 선언식 😊
함수 이름이 명시 되어 있어야 함
함수 이름으로 함수를 호출
함수 호이스팅 발생
세미콜론 사용 X
예시 👇🏻👇🏻
example1(); // 함수 호출 (호이스팅)
function example1() {
console.log('Hi');
} // 함수 선언
함수 표현식 😊
함수 리터럴로 생성한 함수를 변수에 할당
함수의 참조값이 변수로 저장
변수 호이스팅 발생
세미콜론 사용 O
예시 👇🏻👇🏻
const example2 = function () { console.log('Hi') };
// 변수 example2에 함수 할당
example2(); // 함수 호출
차이점😊
함수 선언문으로선언된 함수는 함수 호이스팅 발생
함수 표현식으로 선언된 함수는 변수 호이스팅 발생하고 undefined로 초기화
-> 함수가 정의되기 전에 함수 호출 X
함수 호이스팅은 함수를 사용하기 전에 반드시 함수를 선언해야 되는 규칙을 무시하므로 함수 표현식 권장!
예시 👇🏻👇🏻
example1(); // 'Hi'
example2(); // undefined
function example1(){ console.log('Hi') }
var example2 = function(){ console.log('Hi') };
마무리 😊
이번 주제 함수 선언식과 표현식에 관하여 알아보았다.
'JavaScript > JavaScript 공부' 카테고리의 다른 글
| 렉시컬 스코프 (0) | 2022.12.18 |
|---|---|
| this (0) | 2022.12.10 |
| Array 메서드 (0) | 2022.11.27 |
| Hoisting (0) | 2022.11.20 |