const
-
자바스크립트 - 호이스팅(Hoisting)이란?JavaScript/기본 2020. 7. 19. 16:54
호이스팅(Hoisting)이란? scope(스코프) 안에서의 변수 선언을 최상위에서 선언한 것과 동등하다는 의미를 가진다. 즉, 변수가 선언되기 이전에 변수를 사용하면, 변수가 사용된 블럭 범위의 맨 위로 변수를 끌어올린다는 말이다. var x = '외부 scope'; function fnc() { console.log(x); // undefined var x = '내부 scope'; }; fnc(); 함수 fnc를 실행해보면, 콘솔 창에는 undefined가 출력이 된다. 왜 undefined가 출력이 될까? 그 이유는 var 키워드로 선언된 변수는 선언 단계와 초기화 단계가 한번에 이루어지는데, scope(스코프) 안에서 선언된 변수는 항상 최상위에 선언한 것과 동등한 의미를 가지기 때문에 즉, 호이..
-
자바스크립트 - scope(스코프)란?JavaScript/기본 2020. 7. 19. 01:17
scope란? 변수에 접근할 수 있는 범위를 의미한다. 이 범위는 변수의 접근성을 관리하는 정책이며, scope에는 global(전역)와 local(지역) 2개의 범위가 존재한다. global(전역) scope const name = "Lim"; // 전역 스코프 function print(){ console.log(name); // Lim } print(); console.log(name); // Lim 먼저 name이라는 변수를 정의하고 print 함수 블록 안과 밖에 console.log(name)을 출력하면 둘 다 같은 값이 나온다. 따라서, 변수 name은 전역 스코프라고 볼 수 있다. 전역 scope로 선언된 변수는 모든 범위에서 사용할 수 있다. local(지역) scope 코드 블록 내부에..
-
자바스크립트 - var, let, const 차이JavaScript/기본 2020. 2. 27. 22:36
자바스크립트에서 변수 선언 방식인 var, let, const의 차이점에 대해 알아보자! var의 특징 1. 함수 레벨 스코프(Function-level scope) 함수의 코드 블록만을 스코프로 인식하며, 따라서 전역 함수 외부에서 생성한 변수는 모두 전역 변수이다. if 문이나 for 문의 변수 선언문에서 선언한 변수를 코드 블록 외부에서 참조할 수 있다. 2. var는 키워드 생략 가능하고, 변수 중복 선언 허용이 가능 var는 변수 선언 방식에 있어서 가장 큰 단점을 가지고 있다. var name = 'python' console.log(name) // 결과 : python var name = 'javascript' console.log(name) // 결과 : javascript 변수 name을..