JavaScript/3주차
8. record와 호이스팅 2 (함수의 호이스팅)
tnals634
2023. 5. 24. 16:31
함수 정의 방식 ( 3)
- 함수 선언문
//함수 선언문, 함수명 a가 곧 변수명
//function 정의부만 존재, 할당하는 명령이 없는 경우
function a() { /*....*/}
a(); //실행 ok
- 함수 표현
- 익명 함수 표현식
//함수 표현식, 정의한 function을 별도 변수에 할당하는 경우
// 1. 익명함수표현식 : 변수명 b가 곧 변수명 (일반적 case이다)
var b = function () {/*...*/}
b(); //실행 ok
- 기명 함수 표현식(쓸일이 별로 없다)
// 2. 기명 함수 표현식 : 변수명은 c, 함수명은 d
// d()는 c() 안에서 재귀적으로 호출될 때만 사용 가능하므로 사용성에 대한 의문
var c = function d () {/*...*/};
c(); // 실행 ok
d(); // 실행 error
record의 수집 과정이 호이스팅
함수 선언문은 위험성을 가진다.
함수 표현식을 활용하는 습관을 가지도록 하자.