[모던 JavaScript 튜토리얼] - [4.8] 객체를 원시형으로 변환하기(object-toprimitive)

IRISH·2024년 1월 29일
0

JS

목록 보기
48/80


학습 내용

→ hint : 객체의 형 변환의 기준이 되는 것 / string, default, number

  1. 객체끼리의 연산, 원시형을 파라미터로 받는 함수에 인자로 넘기기 등을 할 경우에 자동 형 변환이 일어나게 된다.

  2. 객체는 논리평가시 무조건 true를 반환한다. (객체는 숫자형이나 문자형으로만 형변환이 일어난다)

  3. 객체형변환은 세종류로 구분되는데, 'hint'라고 불리는 값이 기준이 된다. * hint : 목표로 하는 자료형

① String

  • 문자열 인자 함수, 프로퍼티 키값 등에 사용될 땐, hint가 string이 된다.

② Number

  • 수학 연산을 적용하려고 할 때, hint는 number가 된다.

③ Default

  • 연산자가 기대하는 자료형이 확실하지 않을 떄는 hint는 default가 된다.
  • Date 객체를 제외한 모든 내장 객체는 hint가 default인 경우와 number인 경우를 동일하게 처리한다.
  1. Symbol.toPrimitive라는 내장심볼을 이용하여 객체가 원시형으로 변환될 떄, hint에 따라 어떻게 변환되는지 지정할 수 있다.
  • 무조건 원시형 자료를 반환해야한다.
  1. 객체에 Symbol.toPrimitive가 없을 경우, javascript 엔진은 toString → valueOf(hint가 string일땐,toString → valueOf)를 호출하여 진행한다.

느낀점

실무에서 이것을 직접적으로 활용한다기 보다는, 자바스크립트 자체적인 형 처리에 해당한다.

다만, hint라는 개념 속에서 어떤 시점에 무엇을 위해 사용하냐에 따라 객체 형 변환이 [String / Number / Default] 중에 하나라는 개념을 배웠다는 것에 의의를 두어야 할 것 같다.

profile
#Software Engineer #IRISH

0개의 댓글