반응형
이번에 살펴볼 이야기는 Wrapper Object인데, 이건 솔직히 내용이 많지 않을 것 같다. 근데 굳이 설명하는 이유는 알고 있으면 나중에 나올 얘기들에도 어쨌든 바로 떠올릴 수 있기 때문인거라, 짧게 정리하고 넘어가도록 하겠다.
Wrapper Object (래퍼 객체)
Wrapper 객체가 뭔지 설명하기 전에, 원시타입에 대한 이야기를 할건데, 기본적으로 Object.prototype을 상속하고 있는 모든 객체들은 생성자를 통한 객체 생성을 할 수가 있다. 근데 원시타입은 Object가 없는데 어떻게 생성자를 통한 객체 생성이 가능한지 의문이 들거다. 예를 들면 아래와 같은 코드들임.
const str = new String();
const num = new Number();
const bool = new Boolean();
어떻게 이런 일이 있을 수 있을까?
이 해답이 바로 Wrapper 객체에 존재한다. JavaScript의 모든 데이터 타입들은 리터럴로 선언하든, new를 사용해 생성자로 선언하든 내부적으로 Wrapper 객체가 감싼 뒤 객체를 만들어주고 사라진다. 또한, 이 Wrapper 객체가 string, number, boolean 타입에 사용할 수 있는 각종 메서드들을 안고 있는데, 이 메서드들을 사용할 때 역시 Wrapper 객체가 나타나서 메서드를 실행시켜주게 되는 것이다.
LIST
'Dev > JavaScript' 카테고리의 다른 글
[JavaScript] Symbol (0) | 2023.07.17 |
---|---|
[JavaScript] iterable / iterator (0) | 2023.07.17 |
[JavaScript] ProtoType (2) (0) | 2023.07.13 |
[JavaScript] ProtoType (1) (0) | 2023.07.05 |
[JavaScript] this (0) | 2023.06.29 |