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

자바스크립트 객체를 원시 데이터 타입으로 변환하는 방법

원시 데이터 타입(Primitive data type)이란 문자열(string), 숫자(number), 불리언(boolean)처럼 더 이상 분해할 수 없는 기본적인 데이터 유형을 의미합니다. 자바스크립트에서 객체원시 데이터 타입으로 변환하려면 toString(), valueOf()와 같은 내장 메서드를 사용하면 됩니다. 이러한 메서드를 활용하면 복잡한 객체도 손쉽게 원시 값으로 바꿀 수 있습니다.

주요 변환 메서드

  • toString(): 객체를 문자열 형태의 원시 값으로 변환합니다.
  • valueOf(): 객체가 나타내는 원시 값을 반환합니다. Date 객체의 경우 1970년 1월 1일 00:00:00 UTC부터 경과된 밀리초를 숫자로 돌려줍니다.

예제 1: 배열을 문자열로 변환하기

다음 예제에서는 일반 배열을 원시 데이터 타입인 '문자열(string)'로 변환하고 그 결과를 출력합니다. 배열의 toString() 메서드는 모든 요소를 쉼표(,)로 구분된 하나의 문자열로 합쳐 줍니다.

<html>
<body>
<script>
    var arr = [1, 2, 3];
    document.write(arr.toString() + "</br>");
    var arr1 = ['Hello','Hi','Glad','Pleasure'];
    document.write(arr1.toString() + "</br>");
</script>
</body>
</html>

출력 결과

1,2,3
Hello,Hi,Glad,Pleasure

예제 2: Date 객체를 숫자로 변환하기

다음 예제에서는 Date 객체를 원시 데이터 타입인 '숫자(number)'로 변환합니다. toDateString()은 사람이 읽기 쉬운 날짜 문자열을 반환하고, valueOf()는 해당 날짜를 밀리초 단위의 숫자 값으로 변환해 줍니다.

<html>
<body>
<script>
    var d = new Date(2018, 5, 24);
    document.write(d.toDateString() + "<br>");
    document.write(d.valueOf());
</script>
</body>
</html>

출력 결과

Sun Jun 24 2018
1529778600000

정리

객체를 원시 값으로 변환할 때는 목적에 맞는 메서드를 선택하는 것이 중요합니다. 문자열이 필요하면 toString(), 계산용 숫자 값이 필요하면 valueOf()를 사용하세요. 또한 String(obj), Number(obj)처럼 전역 함수를 이용한 명시적 변환도 가능하며, 덧셈 연산자(+) 등이 객체와 함께 사용될 때 자바스크립트 엔진은 내부적으로 이러한 변환 과정을 자동으로 수행합니다.