Notice
Recent Posts
Recent Comments
Link
솔미는 성장중
[JS] 함수 : 호이스팅 (함수 선언문, 함수 표현식) 본문
728x90
함수 선언문
function example() { }
함수 표현식
: 변수에 함수가 들어감
const example = function () { }
호이스팅
: 함수 선언부가 유효 범위의 최상단으로 끌어올려지는 현상
: 함수 선언문에서만 일어나고 함수 표현식에서는 작동하지 않음.
1) 함수 선언문
function example() {
console.log('테스트중입니다!')
}
example()
//테스트중입니다!
example()
function example() {
console.log('테스트중입니다!')
}
//테스트중입니다!
이것이 호이스팅.
함수 선언문을 사용하면 어떤 위치에서 함수를 호출해도 문제 없이 작동하는 모습이다!!
2) 함수 표현식
example()
const example = function () {
console.log('테스트중입니다!')
}
//Error
Cannot access 'example' before initialization at Object.adjPd
cf) 함수 표현식 방식으로 새로운 이름을 할당하면 호출할 때도 그 이름을 사용해야한다.
아래 예시에서 example()을 통해 호출하려고 하면 에러가 발생한다.
(표현식이니까 호출은 표현식 아래쪽에서!)
const test = function example() {
console.log('테스트중입니다!')
}
test()
//테스트중입니다!
728x90
'JavaScript > 함수' 카테고리의 다른 글
[JS] 함수 : 재귀 (0) | 2023.07.18 |
---|---|
[JS] 콜백 (callback) 함수 (예시 포함) (0) | 2023.07.18 |
[JS] 즉시 실행 함수 (IIFE) (0) | 2023.07.18 |
[JS] 함수 선언 : 화살표 함수 (0) | 2023.07.18 |
[JS] 함수 : 구조 분해 할당 (0) | 2023.07.18 |