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

자바스크립트(JavaScript) 원시 타입과 참조 타입의 차이점 완벽 정리

자바스크립트의 데이터 타입은 크게 원시 타입(Primitive Type)비원시 타입(Non-primitive Type, 참조 타입)으로 나눌 수 있습니다.

원시 타입에는 숫자(number), 문자열(string), 불리언(boolean), 그리고 float 등이 포함됩니다. 반면 비원시 타입, 즉 참조 타입(Reference Type)에는 배열(Array), 객체(Object) 등이 해당합니다.

핵심 차이점

원시 타입은 변수에 실제 값 자체가 저장되며, 값을 복사할 때도 값이 그대로 복사됩니다. 반면 참조 타입은 변수에 값이 아닌 메모리상의 주소(참조)가 저장되기 때문에, 복사하거나 전달할 때 같은 객체를 가리키게 된다는 점이 중요한 차이입니다.

예제 코드

var number=10;
var stringValue="John";
var booleanValue=true;
var obj={};
var newArray=new Array();
console.log("데이터 타입은="+typeof number);
console.log("데이터 타입은="+typeof stringValue);
console.log("데이터 타입은="+typeof booleanValue);
console.log("데이터 타입은="+typeof obj);
console.log("데이터 타입은="+typeof newArray);

프로그램 실행 방법

위 프로그램을 실행하려면 다음 명령어를 사용합니다.

node fileName.js.

실행 결과

여기서는 파일 이름을 demo162.js로 지정했습니다. 실행하면 다음과 같은 결과가 출력됩니다.

PS C:\Users\Amit\JavaScript-code> node demo162.js
데이터 타입은=number
데이터 타입은=string
데이터 타입은=boolean
데이터 타입은=object
데이터 타입은=object

결과 분석

출력 결과를 보면 number, string, boolean은 각각 고유한 타입 이름이 출력되지만, 객체(obj)와 배열(newArray)은 모두 object로 표시됩니다. 이는 자바스크립트에서 배열이 사실 객체의 한 종류이기 때문입니다. 배열의 정확한 타입을 확인하려면 Array.isArray() 메서드를 사용하는 것이 좋습니다.