본문 바로가기

Study/JavaScript

Var

Var 

var는 JS에서 변수를 선언할 때 사용되던 오래된 버전의 키워드로 modern javascript에서는 사용하지 않는다. 왜 var를 사용하지 않는 걸까? 

 

  1. var로 선언된 변수들은 block scope를 구분 하지 못한다. 블럭 안에 변수를 선언했더라도, 이 변수를 global 변수로 취급한다. 즉 블럭 안에서 선언된 변수를 코드 전역에서 업데이트 할 수 있다는 의미이다. 
    • 함수 scope 내부에서 선언된  var는 외부에서 접근할 수 없다. 
  2. var를 이용해서 이미 선언한 변수를 또 한번 선언할 수 있다. 어떤 값을 재할당 하는 것처럼 동작하기 때문에 이미 선언된 변수라는 에러를 던지지 않는다. 
  3. var를 작성하지 않고도 변수를 선언할 수 있다. 키워드 없이 변수를 선언하면, 코드를 읽는 사람의 입장에서는 이게 선언인지 재할당인지 구분이 되지 않는다. 

Strict mode & let, const 

위에서 살펴본 바와 같이 var를 이용해서 작성된 코드는 가독성이 떨어질 뿐만 아니라, 유지 보수하기에도 어렵다. 이 때문에 생겨난 것이 strict mode와 let, const 키워드이다.

'use strict';

strict mode는 js 파일의 최상단에 위의 문구를 작성함으로써 켤 수 있다. strict mode에서는 delete 키워드를 이용해 변수를 삭제하는 것, var 없이 변수를 선언하는 것이 불가능 하다.

하지만 여전히 이미 선언한 변수를 다시 선언하는 것이 가능한 문제가 있으므로, var는 절대 사용하지 않고, let과 const를 이용한다. 

'Study > JavaScript' 카테고리의 다른 글

Modern Syntax | Params, Spread, De-structuring  (0) 2022.05.26
Hoisting  (0) 2022.05.25
Request & Response | API, JSON, fetch...  (0) 2022.04.17
This  (0) 2022.04.05
OOP | Prototype, Class  (0) 2022.04.05