2017-02-03 1 views
1

오브젝트보기를 확장했는지에 따라 Chrome에서 두 개의 다른 데이터 세트를 표시하는 이유는 무엇입니까? 계약보기에서확장시 다른 오브젝트 내용이 표시됩니다.

, 내 목적은 두 가지 속성이 있습니다 확대보기에서

enter image description here

을, 내 목적은 세 가지 속성이 있습니다

enter image description here

답변

4

콘솔에 표시되는 객체입니다 특정 시점의 객체 스냅 샷 - 기록 된 시간. 개체를 확장하면 속성을 다시 평가합니다.

아래 예제에서는 두 개의 배열 속성을 가진 개체를 만들었습니다. 콘솔에 기록한 다음 세 번째 속성 인 c을 추가했습니다.

Snapshot

만 처음 두 속성은 그냥 세 번째 속성을 추가에도 불구하고, 여전히 보여주고있다. 콘솔에서 개체를 확장 한 후 세 번째 개체를 볼 수 있습니다. 이것은 객체의 최신 상태입니다. 당신이 작은 파란색 i 아이콘 위에 마우스를 올려 놓으면

Evaluated

는, 그것이 무슨 짓을했는지 설명 : 지금 평가 하였다

값 이하.

0

@ Gideon Pyzer가 맞습니다. 속성은 콘솔에서 개체를 확장 한 후에 caculated 및 추가되었습니다.

디버그 코드 위에 한 줄의 코드를 추가하고 chrome dev 도구를 다시 열면 차이점을 알 수 있습니다.

obj = Object.freeze(obj); //add this line before your console.log 
console.log(obj); 

전 :

enter image description here

후 : 내

enter image description here

한 비슷한 질문 : Why can't I access the attr of the javascript object shown in chrome dev tool

관련 문제