// 함수 선언문 VS 함수 표현식
// 차이점 : 호출할 수 있는 타이밍
// 함수 선언문 : 어디서든 호출가능
function sayHello() {
console.log('Hello');
}
sayHello(); // "Hello"
// ❓ 아래 코드가 실행되는 이유
// 자바스크립트는 위에서 부터 차례로 한줄씩 읽으면서 실행됨 (인터프리터 언어)
// 내부 알고리즘 때문에 실행 전 초기화 단계에서 코드의 모든 함수 선언문을 찾아 생성해둠 함수를 사용할 수 있는 범위가 올라감 코드 위치가 실제로 올라가는 것은 아님 → 호이스팅 ( hoisting )
sayHello(); // "Hello"
function sayHello() {
console.log('Hello');
}
------------------------------
// 함수 표현식 : 코드에 도달하면 생성
let sayHello = function() {
console.log('Hello');
}
sayHello();
❗️ 더 자유롭고 편하게 코딩하기 위해선 함수 선언문을 사용하는게 좋음
ES6 이후 활발하게 사용되고 있어 필수적으로 알아야함
let add = function(num1, num2) {
return num1 + num2;
}
// 화살표 함수로 변환
let add = (num1, num2) => {
return num1 + num2;
}