객체 상태에 대한 Console.Log 출력 문제 해결
추가 기능이 없는 Safari를 포함한 많은 브라우저에서 console.log는 객체의 상태를 표시합니다. 함수 호출 시점이 아닌 실행이 끝날 때. 이로 인해 디버깅 시 혼란이 발생할 수 있습니다.
문제 이해
객체와 함께 console.log를 사용하면 객체에 대한 참조만 기록됩니다. 객체는 변경 가능하므로 console.log 호출 후 객체에 대한 모든 변경 사항은 표시된 출력에 반영됩니다.
해결책: console.dir() 사용
console.dir() 함수는 이 문제에 대한 해결책을 제공합니다. 함수가 호출될 때 개체 속성의 디렉터리를 인쇄하여 해당 상태를 정확하게 표현합니다.
예:
var test = {a: true} console.dir(test); // {a: true} test.a = false; console.dir(test); // {a: false}
대체 솔루션: JSON 문자열 변환
또 다른 접근 방식은 개체를 JSON 문자열로 변환하는 것입니다. JSON.stringify()를 사용합니다. 이 문자열은 console.log를 사용하여 기록된 다음 JSON.parse()를 사용하여 다시 객체로 구문 분석될 수 있습니다. 이 방법은 console.dir()과 유사한 기능을 제공합니다.
코드 예:
console.log(JSON.parse(JSON.stringify(obj)));
console.dir() 또는 JSON 문자열 변환 기술을 활용합니다. , 개발자는 console.log를 사용할 때 개체의 현재 상태를 정확하게 표시할 수 있습니다. 이는 오래된 데이터 문제를 제거하고 디버깅 효율성을 향상시킵니다.
위 내용은 `console.log`에 최종 개체 상태가 표시되는 이유는 무엇이며 초기 상태를 어떻게 볼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!