TIL 03. JavaScript: 변수 선언과 각각의 차이점
1827 단어 JavaScriptJavaScript
JavaScript에서 var, let, const 각각의 차이점을 조사해 보자
1. var
var를 사용하면 변수 선언의 경우 할당되는 값이 유동적으로 변경될 수 있다.
같은 변수 이름이면, 때에 따라서 유동적으로 각각 후행하는 값이 달라질수 있단 얘기
var name="a";
console.log(name); // a를 출력
var name="b";
console.log(name); // b를 출력
2. let
재할당은 가능하나, 재선언 불가
같은 이름을 가진 변수가 두 번 선언되면 에러메세지가 뜬다.
let name = "a"
console.log(name); //a 출력
let name = "b"
console.log(name); // SyntaxError: Identifier 'name' has already been declared
그러나, 재할당은 가능하다.
let name = "a";
console.log(name); //a 출력
name = "b";
console.log(name); //b 출력
let name = "a";
console.log(name); // a 출력
let name = "b";
console.log(name); // syntaxError
3. const
재할당, 재선언 불가
4.유효범위
- var 변수의 유효범위는 전역범위에서는 전역적으로 유효하며, 함수 내에서는 해당 함수에서만 유효(
{}가 아닌함수 단위의 범위에서만 유효)
var x = 2;
function x(){
var x = 5;
console.log(x);
}
x(); //5 출력
console.log(x); // 2 출력
- var변수의 선언은 코드가 실행되기 전에 처리되므로 어느 곳에서 선언을 하던 맨위에서 선언 하는 것과 같은 효과를 나타낸다. 이러한 동작을 'Hoisting'이라 부른다. 참고링크
- let, const는 블록범위(block-scoped)로 변수 선언이 가능하다({}내 가능)
let x = 5;
if(x===5) {
let x=2;
console.log(x); // 2
}
console.log(x); // 5
if문 안에 있는 x는 if문 밖에서는 유효하지 않다
Author And Source
이 문제에 관하여(TIL 03. JavaScript: 변수 선언과 각각의 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gptn719/TIL-03.-JavaScript-변수-선언과-각각의-차이점저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)