반응형
var variableA = 52;
let variableB = 273;
const consantC = 103;
console.log(variableA);
console.log(variableB);
console.log(consantC);
52
273
103
var let const 차이가 뭘까??? 일단 출력은 똑같다..
키워드 | 구분 | 선언 위치 | 재선언 |
var | 변수 | 전역 스코프 | 가능 |
let | 변수 | 해당 스코프 | 불가능 |
const | 상수 | 해당 스코프 | 불가능 |
표를 봐도 감이 안잡힌다... 예제를 들어보자.
let variable = 273;
variable = 52; // 가능함
const constant = 273;
constant = 52; // 불가능
var 키워드로 선언한 변수와 let 키워드로 선언한 변수의 차이
특정 변수를 사용할 수 있는 유효 범위를 '스코프(유효범위)'라고 한다. 조건문, 반복문, 대괄호 등으로 만들어지는데, 다음 코드에서 대괄호로 감싼 부분이 스코프입니다. 스코프를 찾아보면 '가장 외각에 있는 코드를 입력할 수 있는 부분'이라는 전역 스코프를 포함해 3개의 스코프가 있습니다.
// 전역 스코프
{
// 스코프A
{
// 스코프 B
}
}
일반적인 프로그래밍 언어에서는 "특정 스코프 안에서 선언한 변수는 해당 스코프 안에서만 사용할 수 있다"라는 규칙이 있습니다. 따라서 다른 프로그래밍 언어에서 다음처럼 작성하면 오류가 난다.
{
// 스코프 A
var variable = 273;
}
{
// 스코프 B
alert(variable);
}
// 전역 스코프
alert(variable);
하지만 god js는 오류가 발생하지 않는다. 이유는 var 키워드는 "전역 슼프 위치"에 변수를 선언하는 키워드이기 때문이다.
하지만 let은 일반적인 언어처럼 내부 스코프에서만 사용할 수 있는 변수이다. 이게 차이임
반응형
'언어 > javascript' 카테고리의 다른 글
javascript : array (0) | 2020.11.29 |
---|---|
javascript : var 키워드의 비동기 함수 문제 (0) | 2020.11.28 |
javascript : 템플릿 문자열 (0) | 2020.11.28 |
javascirpt : == 과 === 차이 (0) | 2020.11.28 |
javascript : 숫자와 문자열 자료형 변환 (0) | 2020.11.28 |