JavaScript

[JS] 자바스크립트 기본 자료형과 객체 자료형 차이

SeongwooLee 2023. 10. 6. 02:50

· 2023.10.05일자 오전 교육공부 작성

 

 

기본 자료형(Primitive)

: 숫자(Number), 문자(String), 불(Boolean) 자료형을 의미 

 

객체 자료형(Object)

: 여러 데이터들이 복합적으로 모여있는  String, Intger, Double, List, ArrayList 등을 의미

 

 

- 차이점

  • 기본 자료형은 첫 글자가 소문자로 객체 자료형은 첫 글자가 대문자로 시작
  • 기본 자료형은 null값을 가질 수 없고, 객체 자료형은 null값을 가질 수 있다.
  • 메모리의 저장방식이 다르다.
    기본= 변수에 할당된 메모리에 직접 값이 저장.
    객체= 다른 곳에 저장해 놓았다가 변수에 ㅎㄹ당된 메모리에 객체의 메모리 주소가 저장

  • 기본 자료형의 속성 또는 메소드를 사용할 때 기본 자료형이 자동으로 객체로 변환 됨. 즉, 기본 자료형과 객체 자료형 모두 속성과 메소드를 사용
[기본 자료형 객체 자료형의 메소드 사용]

let string = '과자|1500원';
console.log(typeof(string)); // 출력값: string
console.log(string.split("|")); // 출력값: Array(2) 0:과자 1:1500원 length:2
console.log(typeof(string).split("|")); // 출력값: object

 

  • 기본 자료형은 객체가 아니므로 속성과 메소드를 추가할 수 없음
[기본 자료형에 속성 또는 메소드 추가]

// 변수 생성
let primitiveNumber = 123;

// 메소드 추가
primitiveNumber.method  = function () {
	return 'Primitive Method';
};

// 메소드 실행
console.log(primitiveNumber.method()); // 출력값: TypeError: primitiveNumber.method is not a function

 

  • 기본 자료형에 프로토타입을 사용하여 메소드 추가 
[프로토타입에 메소드 추가]

// 변수 생성
let primitiveNumber = 123;

// 메소드 추가
primitiveNumber.method = function () {
	return 'Primitive Method';
};

// 메소드 실행
console.log(primitiveNumber.method()); // 출력값: Primitive Method