-
JS (자바스크립트) 변수언어/자바스크립트 2023. 5. 6. 09:20
변수의 개념과 종류
박스안에 값을 담는 개념이다.
명령어는 3가지로
var 변수명
let 변수명
const 변수명
이 존재한다.
= 를 사용하여 변수를 담아준다.
같다는 코드에선 ==이다
var let const 변수 선언 및 초기값 할당 초기값 없이 변수 선언가능 초기값 없이 변수 선언가능 초기값 없이 변수 선언불가 재선언
(re=declaration)가능 불가 불가 재할당
(update)가능 가능 불가 유효범위
(scope)globally / locally
blockedglobally /
block scopedglobally / block
scoped호이스팅
(hoisting)scope 최상단으로 hoisting되고, 값은 undefined로 초기화됨 scope 최상단으로 hoisting되고, 값은 초기화 되지 않음
(TDZ 발생)scope 최상단으로 hoisting되고, 값은 초기화 되지 않음
(TDZ 발생)변수 선언 및 초기값 할당
var, let, const 를 사용하여 변수의 이름을 생성하고
대입 연산자(=)를 통해 변수에 초기값을 대입해 주는 것을 초기값 할당이라고한다.
const의 경우 변수를 선언할때 초기값을 함께 설정해야 한다.
재선언
이미 선언한 변수명을 다시 선언 하는 것을 의미 하며 var 만가능
var a = 1
var a = 2
이렇게 재선언이 가능
재할당
이미 값이 할당된 변수에 새로운 값을 할당하는 것을 의미하며 var , let 만 가능
let name = 'kim'
let name = 'lee' (재선언 불가능)
let name = 'kim'
name = 'lee' (재할당 가능)
유효범위
변수에 접근할 수 잇는 범위를 의미한다.
var는 변수가 선언된 위치에 따라 유효범위가 달라진다.
함수 내에서 선언 되었다면 함수(function/locally scoped) 내에서만 사용 가능하며
함수 외부에서 선언되었다면 전체적(globally scoped)으로 사용 된다.
반면 let과 const 는 선언된 블록 내에서만 유효하며
블록은 {} 중괄호의 내부를 의미한다.
let 과 const 도 블록 외에서 선언된 경우에는 전체적으로 사용이 가능하다.
호이스팅
코드 실행 전에 변수의 선언과 함수의 선언이 각 스코프의 맨 위로 옮겨지는 js의 매커니즘이다.
'언어 > 자바스크립트' 카테고리의 다른 글
[자바스크립트] 불변성 (2) 2023.05.24 JS (자바스크립트) for 반복문 (0) 2023.05.06 JS (자바스크립트) 조건문 (0) 2023.05.06 JS (자바스크립트) 함수 (1) 2023.05.06 HTML, CSS, JS의 관계 (0) 2023.05.06