본문 바로가기

Study

[javascript] 변수선언 방식(var, let, const)

1. var

- 동일한 변수명으로 재선언 가능

- 함수 내에서는 지역변수화 되나, 다른 블록 안에서는 전역변수화 됨

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(true)
{
    var a = 5;        // 블록 내부에 선언
    console.log(a);    // 5
}
 
console.log(a);        // 전역변수화 되어 5
 
function t()
{
    var b = 10;
    console.log(b);    // 10
}
 
console.log(b);        // 함수 내 선언된 변수는 지역변수화되어 에러 발생
 
var c = 1;
var c = 2;            // 재선언 
cs

 

 

2. let

- ES6에서 const와 함께 추가된 새로운 선언 방식

- 동일한 변수명으로 재선언 불가

- block-scoped로 함수, if문 등을 포함한 블록 안에서 선언 시 지역변수처럼 쓰임

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(true)
{
    let a = 5;        // 블록 내부에 선언
    console.log(a);    // 5
}
 
console.log(a);        // 블록 내부에 선언된 변수는 지역변수화 되어 에러 발생
 
function t()
{
    let b = 10;
    console.log(b);    // 10
}
 
console.log(b);        // 함수 내 선언된 변수는 지역변수화되어 에러 발생
 
let c = 1;
let c = 2;            // 재선언 불가. 에러 발생
cs

 

3. const

- 상수화. 재선언 및 재할당 모두 불가

- 선언 시 반드시 값을 할당해야 하며, 할당하지 않을 시 선언 불가

1
2
3
4
5
6
7
8
9
10
11
const a = 10;         // 선언 시 반드시 값을 할당 하여야 함.
 
= 15;                // 선언 후 재할당 불가. 에러 발생.
const b;            // 선언 시 값을 할당하지 않아 에러 발생.
 
if(true){
    const c = 10;
    console.log(c);    // 10
}
 
console.log(c);        // 블록 내 변수는 지역변수로 외부에서 접근 불가. 에러 발생.
cs

 

 


[참고사이트]

https://blog.naver.com/rnjsrldnd123/221502769952

https://blog.naver.com/yhw7979/221872860584

'Study' 카테고리의 다른 글

[javascript] iterator 관련 함수  (0) 2020.05.15
[javascript] 배열 관련 함수  (0) 2020.05.14
[javascript] 함수(function) 선언 방법  (0) 2020.05.13
FileZilla Server 설치 및 설정  (0) 2018.01.15
DNS  (0) 2017.07.25