JS는 날짜,오류, HTML 요소(HTML element)등을 다룰 수 있게 해주는 다양한 내장 객체를 제공한다.
primitive type 을 객체로써 사용 할 수 있게 끔해주는 것이 Wrapper 객체이다.
Wrapper 객체는 원시 자료형의 이름을 그대로 차용해, String,Number,Boolean, Symbol라고 부른다.
1.문자열 str은 원시값이므로 원시값의 프로퍼티(toUpperCase)에 접근하는 순간 특별한(래퍼) 객체가 만들어진다.
이 객체는 문자열의 값을 알고 있고, toUpperCase()와 같은 유용한 메서드를 가지고 있다.
2.메서드가 실행되고 , 새로운 문자열이 반환된다.
3.특별한 객체는 파괴되고 원시값 str만 남는다.
객체는 -> 논리 평가 시 항상 참을 반환한다.
null/undefined는 메서드가 없다.
the answer is 'undefined'
1.래퍼 객체에 프로퍼티 test가 추가된다.
2. 그런데 래퍼객체는 바로 삭제되기 때문에 마지막 줄이 실행될땐 프로퍼티 test를 찾을 수 없다.
고로,
primitive type don't save the add data
프리미티브 타입은 추가데이터를 저장하지 않는다.
'JavaScript' 카테고리의 다른 글
Map (0) | 2021.04.13 |
---|---|
API 보는법(Array) (0) | 2021.04.10 |
기본자료형 (Symbol) (0) | 2021.03.21 |
생성자 메소드 (0) | 2021.03.18 |
this. (0) | 2021.03.15 |