Chrome에서 console
객체는 동일한 작업을 수행하는 두 가지 방법을 정의합니다.
console.log(...)
console.dir(...)
온라인에서 어딘가 dir
에서 오브젝트를 복사하기 전에 오브젝트의 사본 을 가져 오는 반면 log
콘솔에 참조를 전달하기 만하면 로깅 한 오브젝트를 검사 할 때 오브젝트가 변경되었을 수 있습니다. 그러나 일부 예비 테스트에 따르면 아무런 차이가 없으며 둘 다 기록되었을 때와는 다른 상태의 객체가 표시 될 가능성이 있습니다.
Chrome 콘솔 ( Ctrl+ Shift+ J) 에서이 기능을 사용해보십시오 .
> o = { foo: 1 }
> console.log(o)
> o.foo = 2
이제 [Object]
로그 문 아래를 확장하고 foo
값이 2로 표시 되는지 확인하십시오 . dir
대신을 사용하여 실험을 반복하는 경우에도 마찬가지 입니다 log
.
내 질문은, 왜이 두 겉보기에 동일한 기능이 존재 console
합니까?
console.dir
변경되지 않으므로 큰 차이가 있습니다.
console.log([1,2])
하고console.dir([1,2])
차이를 볼 수 있습니다.