지역 변수란?
'블록' 내에서 만들어진 (선언된) 변수
변수가 만들어진 블록 내부에서만 사용가능하다.
블록이 종료되면, 메모리에서 지워진다.
전역 변수란?
함수의 외부에서 선언된 변수
전체 코드에서 사용가능하다.
프로그램이 종료되면, 메모리에서 지워진다.
C언어의 메모리 구조
1. 코드
2. 데이터
3. 스택
4. 힙
JS의 메모리 구조
1. 코드
2. 콜 스택
3. 힙
JS의 변수
이름 | 기능 |
|
var | - 이전에 선언한 변수 이름으로, 변수 선언 가능 var var1; var var1 ( 중복 정의 가능 ) |
블록 외부에 존재하는 변수를, 블록 내부에서 재선언 하면, 외부 변수가 변경된다 ( 총 변수 1개 ) |
let | 값을 지정하지 않고, 메모리 할당만 받을 수 있다. ( let var1 ) - undefined 타입이라고 부른다. 값을 할당할때, 타입이 결정된다. ( var1 = "test" ) - string 타입의 메모리 할당 이전에 선언한 변수 이름으로, 변수 선언 불가능 변수의 값을 모두 변경할 수 있다. ( 같은 형의 데이터만 ) let val2 = 1; val2 = 2 |
|
const | 처음부터 값을 지정해주어야 한다. ( const var1; var1 = 1 불가능 ) 값을 변경할 수 없다. const va11 = { 'num' : 1 } ( 기존의 변수 내부 요소 변경가능 ) val1.num = 2 ( 기존의 변수 전체는 불가능 ) val1 = { 'num' : 2 } |
반응형