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; // 선언 시 반드시 값을 할당 하여야 함.
a = 15; // 선언 후 재할당 불가. 에러 발생.
const b; // 선언 시 값을 할당하지 않아 에러 발생.
if(true){
const c = 10;
console.log(c); // 10
}
console.log(c); // 블록 내 변수는 지역변수로 외부에서 접근 불가. 에러 발생.
|
cs |
[참고사이트]
'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 |