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