섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.
149
14 asked
안녕하세요 선생님 강의 잘 보고있습니다!
제목에 작성한 강의의 7:56초에 "obj에 프리미티브 값으로 설정된 값을 반환"한다는 부분인데요.
이전 강의에서도 오브젝트는 [[primitiveValue]] 가지지 않는다고 하셨는데, valueOf()를 쓰면 프리미티브 값을 반환한다는 표현이 잘 이해가 가지 않아서 질문드렸습니다.
저는 저 상황에서 참조값을 반환하는 것으로 알고있는데 혹시 JS 내부적인 처리 이후 평가된 값으로 생각해서 프리미티브 값이라고 표현을 하신걸까요...?
Answer 2
0
안녕하세요, 인프런 AI 인턴입니다. mins님.
자바스크립트에서 객체(Object)는 일반적으로 프리미티브 값을 직접적으로 갖지 않습니다. 하지만 valueOf() 메소드를 사용하면 객체에 특별히 정의된 경우, 객체의 프리미티브 값을 반환하게 됩니다. 이 메소드는 객체의 기본적인 값(즉, 프리미티브 값이라고 간주될 수 있는)을 제공할 수 있습니다.
valueOf()메소드:- 모든 객체는
valueOf()메소드를 가지고 있으며, 이 메소드는 객체의 기본값을 반환합니다.
- 숫자(Number) 객체의 경우엔,
valueOf()를 사용하면 그 객체가 표현하는 숫자 값을 반환합니다.
- 모든 객체는
프리미티브 값 반환의 의미:
- JS 객체는 기본적으로 참조값을 가집니다. 하지만 어떤 객체는 상황에 따라 자신을 특정한 프리미티브 값으로 변환하려고 할 때가 있습니다.
valueOf()가 해당 객체의 프리미티브 값을 어떻게 평가하고 반환하는지는 그 객체의 타입 및 자바스크립트 엔진의 처리 방식에 따라서 다를 수 있습니다.
- JS 객체는 기본적으로 참조값을 가집니다. 하지만 어떤 객체는 상황에 따라 자신을 특정한 프리미티브 값으로 변환하려고 할 때가 있습니다.
관련된 질문을 좀 더 폭넓게 이해하고 싶으시다면, 다음 게시물을 참고하실 수 있습니다:
- 강의내용 질문 - 자바스크립트 엔진으로 생성되는 객체의 값
- 프로퍼티 - 자바스크립트 객체의 구조와 메소드
이러한 정보가 프리미티브 값 반환과 관련하여 좀 더 명확한 이해를 돕기를 바랍니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
2
109
2
섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.
0
140
2
섹션 1. 6번째 강의 질문입니다.
1
247
1
선생님 Objcet 질문 있습니다.
0
299
2
forEach문을 활용한 코딩시간 풀이
0
617
1
sort 코딩 시간 풀이
0
292
1
코딩 시간 풀이 올려봅니다.
0
230
1
인덱스 코딩시간 문제풀이
0
383
1
for문 코딩 시간 답제출
0
308
1
3:39 sort에 들어가서 one,two 파라미터질문입니다.
0
194
0
퀴즈 질문 및 정답
0
357
1
오브젝트
0
284
1
인스턴스 목적
1
240
1
[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?
0
269
1
Undefined === Null; // true???
0
194
1
indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.
0
1031
5
length 값 변환 논리에 대한 질문입니다.
0
211
1
상수 변수 선언에 대해
0
236
1
코딩 시간 (for문) 풀이
0
256
1
Object vs object
1
502
1
코딩 시간 풀이입니다.
0
199
1
log(add(1, 2, 3, 4));
0
183
1
코딩시간 답 제출
0
200
1
프로퍼티는 왜 쓰이는건가요..?
0
498
1

