JavaScript/JavaScript
[JavaScript] 함수 선언식 / 함수 표현식
피리부는남자
2022. 1. 17. 11:48
// 함수 선언식
function printHelloWorld() {
console.log("Hello World!");
}
printHelloWorld();
// 함수 표현식
let printHelloWorld = function() {
console.log("Hello World!");
};
printHelloWorld();
- 함수 선언식은 호이스팅에 영향을 받는다.
- 함수 표현식은 호이스팅에 영향을 받지 않는다.
함수 선언식은 코드를 구현한 위치와 관계없이 자바스크립트의 특징인 호이스팅에 따라 브라우저가 자바스크립트를 해석 할 때 맨 위로 끌어 올려진다.
// 함수 선언식
printHelloWorld(); // "Hello World!"
function printHelloWorld() {
console.log("Hello World!");
}
- 함수 선언식은 호이스팅에 영향을 받기 때문에 선언한 위치보다 먼저 호출을 해도 오류가 나지 않는다.
// 함수 표현식
printHelloWorld(); // Uncaught ReferenceError
let printHelloWorld = function() {
console.log("Hello World!");
};
- 함수 표현식은 호이스팅에 영향을 받지 않기 때문에 호출을 먼저 하게 되면 오류가 난다.