S05. advanced1
Advanced 1 (arguments, scope, hoisting)
- function의 aguments 키워드는 key, value를 반환 (key값은 index)
-
aguments는 배열은 아니다. 유사배열이다.
aguments.length 사용가능
aguments[3] 사용가능 -
변수는 본인이 속한 ㅓ스코프를 먼저 찾고, 없으면 상위로 올라간다.
-
함수 내 for문의 변수는 함수 스코프이다.
- 호이스팅
- 함수와 변수 선언문 모두 끌어올려진다. (함수가 먼저 끌어올려지고 다음으로 변수가 올려진다.)
// 함수선언식은 함수 자체가 호이스팅
var a = 1;
foo();
function foo () {
console.log(a);
}
// 함수표현식은 변수 선언만 호이스팅
d(); // d is not function
var d = function () {
console.log('d');
};