Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript var 변수에 저장되는 데이터와 값 변경 방법

JavaScript에서 var로 선언된 변수 자체에는 고정된 타입이 없습니다. 대신 변수에 저장되는 이 각각의 타입을 가지며, 같은 변수에 새로운 값을 언제든지 다시 할당할 수 있습니다. 값을 재할당하면 해당 변수가 담고 있는 데이터의 타입도 함께 바뀌게 됩니다.

예를 들어 하나의 변수에 불리언(Boolean), 숫자(Number), 문자열(String)을 순서대로 할당하면, typeof 연산자를 통해 매번 다른 타입이 출력되는 것을 확인할 수 있습니다.

예제

<!DOCTYPE html>
<html>
   <body>
      <script>
         var a;
         document.write(typeof a+"\r\n");
         a = true;
         document.write(typeof a+"\r\n");
         a = 5;
         document.write(typeof a+"\r\n");
         a = "web";
         document.write(typeof a+"\r\n");
      </script>
   </body>
</html>

실행 결과

undefined
boolean
number
string

코드 설명

위 예제의 동작 과정을 단계별로 살펴보면 다음과 같습니다.

  • var a; — 변수 a를 선언만 하고 초기화하지 않았으므로, 타입은 undefined입니다.
  • a = true; — 불리언 값 true를 할당했기 때문에 타입이 boolean으로 변경됩니다.
  • a = 5; — 숫자 5를 할당하여 타입이 number로 바뀝니다.
  • a = "web"; — 문자열 "web"을 할당하여 타입이 string으로 변경됩니다.

이처럼 JavaScript는 동적 타이핑(Dynamic Typing) 언어이므로, 변수를 선언할 때 타입을 미리 지정할 필요가 없으며 실행 중에 값이 바뀌면 타입도 유연하게 따라갑니다. 참고로 최신 JavaScript에서는 블록 스코프를 지원하는 letconst 사용이 권장되지만, 값의 재할당과 타입 변경 방식은 동일하게 적용됩니다.