>  Q&A  >  본문

javascript - JS의 객체에 관한 질문

오늘 JS 객체에 관한 책을 봤는데, 잘 이해가 안 되는 예가 있었어요

으아악
漂亮男人漂亮男人2711일 전421

모든 응답(5)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-05-18 10:53:26


    여기의 [object Object]는 이 단계에서 myObject의 암시적 유형 변환으로 인해 획득됩니다myObject[myObject] = "foo";. 따라서 여기의 [object Object]는 변환된 문자열일 뿐이지만 개체에서는 '[object Object]'로 표시됩니다. 'foo' 값을 키로 저장합니다!

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-18 10:53:26

    으아아아

    회신하다
    0
  • 世界只因有你

    世界只因有你2017-05-18 10:53:26

    으아악

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-18 10:53:26

    이것은 객체 키 이름의 암시적 변환 문제입니다.
    현지어로 설명된 다음 예를 들어보세요.

    A 객체가 있는데 B 객체를 A 객체의 키 이름으로 전달하고 싶은데 객체의 키 이름이 모두 문자열이기 때문에 B 객체가 toString() 메서드를 호출해서 변환하게 됩니다. 데이터를 A 객체의 키 이름으로 저장하기 위해 문자열 "[ object Object]"에 연결합니다. 인스턴스의 데이터는 이 "foo" 문자열입니다.


    특별한 주의가 필요한 또 다른 점은:
    귀하의 질문에 있는 A 객체와 B 객체가 동일하여 매우 혼란스럽기 때문에 이를 구별하기 위해 새로운 mykey를 선언했습니다.

    으아악

    인쇄된 결과는 true입니다. 이는 "[object Object]"가 {}와 동일하지 않지만 toString() 메서드를 전달한 후 객체가 반환한 문자열과 동일함을 증명합니다


    으아악

    위 세 줄의 코드는 다시 증명됩니다. "[object Object]"는 toString() 메소드를 전달한 후 객체가 반환한 문자열과 동일합니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-05-18 10:53:26

    키 값은 자동으로 문자열로 변환됩니다

    회신하다
    0
  • 취소회신하다