본문 바로가기

Javascript2

호이스팅(Hoisting)이란? 호이스팅이란? Hoist는 사전적으로 '들어[끌어]올리다' 라는 의미를 가진 단어이다. Javascript에서 var 로 선언된 모든 변수들은 변수를 정의하는것이 범위에 따라 선언과 할당으로 분리된다. 즉, 변수가 함수 내에서 정의된 경우, 선언이 함수의 최상위로, 함수 바깥에서 정의되었을 경우 전역 컨텍스트의 최상위로 선언된다. console.log(test); // undefined console.log(test2); // ReferenceError: Can't find variable: test22 var test = 1; console.log(test); // 1 변수가 뒤에 어디서든 정의가 된다면 일단 선언이 되었으므로 undefined 가 리턴될것이고, 정의 즉 선언조차 되지 않은 변수는 에러.. 2021. 8. 9.
블록스코프, 함수스코프 란(feat. var, const, let) 오늘은 Javascript의 기본기를 다져보는 시간을 가져보려고 한다. var 과 const, let의 차이를 알아보려고 한다. 일단 블록 스코프, 함수 스코프의 차이를 말하기에 앞서 스코프란 무엇인지 알아보자. 스코프(Scope)란? 단순하게 한국말로 직역하면 '범위' 이다. Javascript 에서의 스코프는 '변수에 접근할 수 있는 범위'라고 생각하면 된다. 블록스코프, 함수스코프란? 블록스코프에는 let(수정가능), const(수정불가)가 있고, 블록({ })마다 새로운 스코프가 새로 재정의 된다라고 생각하면 된다. function test_func(){ let test1 = 'hi1'; const test1 = 'hi2'; console.log(test1, test2); // hi1 hi2 } .. 2021. 8. 9.