1. primitive 값, wrapper 오브젝트


primitive 값

기존에 여러 키워드들에 공부하고 포스팅할때를 생각해보면 대다수가 자동으로 오브젝트를 통해 설정되었습니다. 하지만, Primitive값은 오브젝트가 아니라 값이며 함수를 가지고있지도 않습니다.

예를들어 const num = 100; 을 실행하면 num이라는 변수에는 100만 할당되며 그외에 어떤것도 할당되지 않습니다. 100 자체가 num의 primitive 값입니다.

ES5에서는 primitive 값 타입이 string, number, boolean, null, undefined 이 있습니다.

ES6에서는 symbol 타입이 추가되었습니다.

const num = 100;

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8a0fb3f2-be58-4214-b3de-9f6a984468f5/Untitled.png

wrapper 오브젝트

wrapper 오브젝트란 Primitive 값이 포함된 오브젝트로 Primitive값과는다르게 메소드가 있습니다.

우리가 많이 사용하던 오브젝트로 대표적으로는

오브젝트들이 있습니다.

const obj = new String(100);

![[

[[

이렇게 Wrapper 오브젝트를 이용하면 내부의 메소드들이 연결되어있고 [[PrimitiveValue]] 가설정되어 사용할 수 있습니다. 그런데 내부 형태가 조금 다른 wrapper 오브젝트가 있는데 바로 Symbol입니다.

const sym = Symbol("ABC");

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/30cea3fc-7a2b-4ddd-80c3-2ccef524e898/Untitled.png