function printName() {
console.log("lumpyspaceyz");
}
const printName = function() {
console.log("lumpyspaceyz");
}
console.log("첫 번째 실행");
func();
var func = function() {
console.log("기명함수 실행");
}
function func() {
console.log("익명함수 실행");
}
console.log("두 번째 실행");
func();
// 결과
첫 번째 실행
익명함수 실행
두 번째 실행
기명함수 실행
🙇🏻♀️ 기명함수는 호출의 위치와 구현의 위치 간에 연관관계가 없기 때문에 첫 번째 호출에서 아직 선언되지 않은 기명함수가 호출될 수 있었고,
익명함수는 호출의 위치와 구현의 위치 간에 연관관계가 있기에 익명함수 선언이 완료된 다음인 두 번째 호출에서는 익명함수가 호출됨
기명함수(= 함수 선언식) 선언 전 호출 가능
익명함수(= 함수 표현식) 선언 후 호출 가능