Javascript/배경 & 실무 지식
[Javascript] Var, Let, Const
BeomBe
2023. 11. 15. 16:05
반응형
1. var
- var는 전역범위 또는 함수 범위로 지정
아래를 보면, greeting은 전역 범위에 선언되었기때문에 출력이 가능하지만,
greet()함수 안에있는 변수 greet은 함수 안에서 선언되었기 때문에 출력 되지 않습니다.
var greeting = "Hello";
function greet(){
var greet = "Hi";
}
console.log(greeting); // 출력가능 -- Hello 출력
console.log(greet); // 출력 X -- Undefined 출력
- 재선언되고, 업데이트 가능
var greeting = "hello";
console.log(greeting);
var greeting = "hi";
console.log(greeting);
greeting = "change value";
console.log(greeting);
- 초기 변수에 값이 지정되어있지 않을경우 Undefined 로 초기화
var greeting;
console.log(greeting); // undefined
- 이미 선언된 변수를 재선언할 수 있기 때문에, 의도치않게 다른 결과를 초래할수있음 => let과 const의 필요성
2. let
- let으로 선언된 변수는 해당 블록 내에서만 사용 가능
let greeting = "say Hi";
let number = 3;
if (number > 1) {
let hello = "say Hello instead";
console.log(hello);// "say Hello instead"
}
console.log(hello) // hello is not defined
- let은 업데이트 될 수 있지만, 재선언은 불가능
* 단 다른 범위 내에서 정의 된다면 사용 가능!
let test = "Hello";
test = "change!";
console.log(test);
let replay = "Hi";
let replay = "Hi"; // error! 이미 선언되었기때문에
// 단 다른 범위내에서 정의된다면 사용 가능
let name = "kyle";
if(true) {
let name = "Hi Kyle";
console.log(name); // "Hi Kyle"
}
console.log(name); // "kyle"
3. const
- 블록범위 내에서 접근 가능
- 업데이트도, 재선언도 불가능
* 단, 개체의 속성일 경우 업데이트 가능
const test = "Hello";
test = "Hi"; // error!
const greeting = "Hi";
const greeting = "Hello"; // error!
//단, 개체의 속성일 경우 업데이트 가능
const a = {
firstname: "kyle";
lastname: "hong";
}
a.firstname = "nick"; // 가능!
console.log(a);
정리!!
* var는 전역 범위 또는 함수 범위, let과 const는 블록 범위
* var는 업데이트 및 재선언 가능, let은 업데이트 가능, 재선언 불가능, const는 업데이트와 재선언 불가능.
* 세가지 모두 최상위로 호스팅! var변수는 undefined로 초기화, let과 const는 초기화 X
* var와 let은 초기화하지 않은 상태에서 선언 가능, const는 선언중에 초기화
참고자료 출처
https://www.freecodecamp.org/korean/news/var-let-constyi-caijeomeun/
Var, Let, Const의 차이점은?
ES2015(ES6)에서 반짝이는 새로운 기능들이 많이 등장했습니다. 2020년이 된 지금, 많은 JavaScript 개발자들이 그 기능들을 사용하기 시작했을 것이며 또 익숙해졌을텐데요. 여전히 그 중 몇몇은 일부
www.freecodecamp.org
반응형