728x90
1. var hoisting
Hoisting : 어디에 선언했느냐에 상관없이 선언을 제일 위로 끌어올려주는 것.
var을 사용하면 hoisting이 되기 때문에 아래와 같은 이상한 행동을 할 수 있다.
- 선언하기 전에 값을 할당
- 값을 할당하기 전에 출력
2. block scope이 없다.
{
variable = "I am a variable";
var variable;
}
console.log(variable);
블럭 안에서 변수를 선언하고,
블럭 밖에서 변수를 출력할 수 있다.
3. 재선언이 가능하다.
var banana = "banana";
console.log(banana); // banana
var banana = "apple";
console.log(apple); // apple
바나나가 사과가 되는 기적..!
이게 에러 없이 가능하다.
그럼 변수 선언할 때 무엇을 사용해야 할까?
let
과 const
를 사용하면 위 문제를 해결할 수 있다.
반응형
'개발공부 > JavaScript' 카테고리의 다른 글
함수형 프로그래밍의 특징 (0) | 2022.02.17 |
---|---|
[JS] const, let 차이점 (0) | 2022.02.03 |
Promise와 Async await (0) | 2022.01.18 |
JavaScript 파일에서 use strict를 쓰는 이유 (0) | 2022.01.17 |
html에 script를 추가할 때 어떤 방법이 가장 좋을까? (0) | 2022.01.17 |