Dev/JavaScript

[JavaScript] Wrapper Object

隣席の開発者群 2023. 7. 13. 18:07
반응형

이번에 살펴볼 이야기는 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