작성
·
73
1
안녕하세요 선생님 강의 잘 보고있습니다!
제목에 작성한 강의의 7:56초에 "obj에 프리미티브 값으로 설정된 값을 반환"한다는 부분인데요.
이전 강의에서도 오브젝트는 [[primitiveValue]] 가지지 않는다고 하셨는데, valueOf()를 쓰면 프리미티브 값을 반환한다는 표현이 잘 이해가 가지 않아서 질문드렸습니다.
저는 저 상황에서 참조값을 반환하는 것으로 알고있는데 혹시 JS 내부적인 처리 이후 평가된 값으로 생각해서 프리미티브 값이라고 표현을 하신걸까요...?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. mins님.
자바스크립트에서 객체(Object)는 일반적으로 프리미티브 값을 직접적으로 갖지 않습니다. 하지만 valueOf()
메소드를 사용하면 객체에 특별히 정의된 경우, 객체의 프리미티브 값을 반환하게 됩니다. 이 메소드는 객체의 기본적인 값(즉, 프리미티브 값이라고 간주될 수 있는)을 제공할 수 있습니다.
valueOf()
메소드:
valueOf()
메소드를 가지고 있으며, 이 메소드는 객체의 기본값을 반환합니다.valueOf()
를 사용하면 그 객체가 표현하는 숫자 값을 반환합니다.프리미티브 값 반환의 의미:
valueOf()
가 해당 객체의 프리미티브 값을 어떻게 평가하고 반환하는지는 그 객체의 타입 및 자바스크립트 엔진의 처리 방식에 따라서 다를 수 있습니다.관련된 질문을 좀 더 폭넓게 이해하고 싶으시다면, 다음 게시물을 참고하실 수 있습니다:
- 강의내용 질문 - 자바스크립트 엔진으로 생성되는 객체의 값
- 프로퍼티 - 자바스크립트 객체의 구조와 메소드
이러한 정보가 프리미티브 값 반환과 관련하여 좀 더 명확한 이해를 돕기를 바랍니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.