var now = new Date();

 

- 할당 된 값에 따라 변수의 타입이 동적으로 결정 된다. 그니까 지금은 now 가 Date가 되는 것.

 

장점:

  1. 간결성: var를 사용하면 변수를 선언할 때 타입을 명시적으로 지정할 필요가 없으므로 코드가 더 간결해집니다.
  2. 유연성: var를 사용하면 한 번에 여러 유형의 값을 변수에 할당할 수 있습니다.
  3. 동적 타입: JavaScript는 동적으로 타입이 결정되는 언어이므로, var를 사용하여 변수를 선언하면 해당 변수의 타입이 동적으로 결정됩니다.
  4. 함수 스코프: var로 선언된 변수는 함수 스코프를 가지므로, 함수 내에서만 유효한 변수로 사용됩니다.

단점:

  1. 타입 오류 식별의 어려움: var를 사용하면 변수의 타입이 명시적으로 선언되지 않기 때문에 코드를 읽거나 유지보수할 때 변수의 타입을 추론하기가 어려울 수 있습니다. 이는 타입 오류를 식별하는 데 어려움을 초래할 수 있습니다.
  2. 전역 변수 오염 가능성: var로 선언된 변수는 함수 스코프를 가지며, 전역 변수로 사용될 수 있습니다. 이는 의도하지 않은 전역 변수 오염이 발생할 수 있으며, 디버깅이 어려워질 수 있습니다.
  3. 호이스팅: var로 선언된 변수는 호이스팅(hoisting)에 영향을 받습니다. 즉, 변수가 선언된 위치와 상관없이 해당 스코프의 최상단으로 끌어올려지므로, 코드의 의도와 다르게 동작할 수 있습니다.

결국 유연한 사용을 위해 var 키워드를 사용할 수 있지만, 잘 못 쓰게 되면 디버깅 등에 애먹을 수 있기 때문에 사용함에 있어 신중 해야한다.

(가독성만 따지다 더 큰 어려움을 불러일으킬 수도 있겠다..)

'Java > 개념 정리' 카테고리의 다른 글

동기적 메서드와 비동기적 메서드  (0) 2024.05.16
스레드의 차단(blocked)  (0) 2024.05.16
JWT(Json Web Token)의 구조  (0) 2024.02.22
Heap 이란?  (1) 2023.10.22
연결리스트(LinkedList)  (0) 2023.10.21

+ Recent posts