whatisthis?
javaScript. 래퍼객체(Wrapper Object) 본문
자바스크립트의 DataType에는 여러가지가 존재한다.
데이터타입은 크게 두가지로 구분할 수 있는데, 그것은 다음과 같다.
1) 원시 데이터타입(Primitive Data Type)
- number
- string
- boolean
- undefined
- null
2) 객체형 데이터타입(Object Data Type)
- object
- array
- function
- date
- RegExp (정규표현식)
- 래퍼객체 (Wrapper Object)
이중에서 객체형 데이터타입은 메소드 등 객체 이용방법을 그대로 이용할 수 있다.
💡 래퍼객체 (Wrapper Object)
- Number / String / Boolean
- 원시형 타입을 (일시적으로) 객체화 시켜주는 객체형 데이터 타입을 의미함.
>> 숫자, 문자열, Boolean 등 원시타입의 프로퍼티or 메서드에 접근할 때 생성되는 임시 객체.
String과 Number 타입은 메서드를 가지며, 마치 객체인 것 처럼 사용할 수 있다.
메서드를 가진다는 것은 객체의 성격을 가질 때만 가능한데,
어떻게 String과 Number가 객체인 것 처럼 메서드를 가질 수 있나?
- Number
- String
- Boolean
은 객체형 데이터타입의 한 종류이자, 래퍼 객체이다.
원래는 원시형타입 이기 때문에 객체처럼 메서드를 가질 수 없다.
하지만, 자바스크립트에서는 위 세개에 한해서 일시적으로 객체화가 되는것을 허용한다.
즉, 문자열을 선언했을 때는 원시형 타입인 문자열인 상태이지만,
메서드를 사용하고자 할 때, (예- charAt)
new String() 선언이 일시적으로 생성되어 객체화 시킨다.
이로써 new String()을 통해 객체화 되어 메서드를 사용할 수 있게 된다.
+) 이후 메서드나 프로퍼티의 참조가 끝나면, 사용된 임시 객체는 자동 삭제된다.
REFERENCE
'WEB STUDY > JAVASCRIPT' 카테고리의 다른 글
javaScript. 클래스 vs 프로토타입 ( ▪ 생성자 ) (0) | 2022.01.22 |
---|---|
javaScript. (8) 숫자와 Math 객체 (1) | 2022.01.22 |
javaScript. (7) 문자열 (0) | 2022.01.22 |
javaScript. console 객체의 메서드 (0) | 2022.01.19 |
javaScript. (6) 반복문(loop) (0) | 2022.01.17 |