P粉5786806752023-08-23 15:48:53
console.log()
객체에 대한 참조를 수신하므로 객체가 변경되면 콘솔의 값도 변경됩니다. 이를 방지하려면 다음 방법을 사용할 수 있습니다.
P粉9498488492023-08-23 11:15:47
Pointy의 답변은 좋은 정보를 제공하지만 질문에 대한 정답은 아닙니다.
OP에 설명된 동작은 2010년 3월에 처음 보고된 버그의 일부이며 2012년 8월 Webkit에 대한 수정이 있었지만 이 글을 쓰는 시점에서는 아직 Google Chrome에 통합되지 않았습니다. 동작은 개체 리터럴을 console.log()
에 전달할 때 콘솔 디버그 창이 열려 있는지 닫혀 있는지 에 따라 달라집니다.
원래 버그 보고서에서 발췌(https://bugs.webkit.org/show_bug.cgi?id=35801):
Chromium 개발자의 응답:
많은 불만이 이어졌고 결국 버그 수정으로 이어졌습니다.
2012년 8월에 구현된 패치에 대한 변경 로그 설명(http://trac.webkit.org/changeset/125174):