루밀LuMir's GitHub profile image
PLAY KEYBOARD, STRIKE A CODE🎨

console.log()console.dir()의 차이점

1. console.log()

1-1. 정의

console.log()JavaScript에서 콘솔 출력을 위해 사용하는 함수이다.

1-2. 사용 목적

console.log()를 사용하여 디버깅 및 로깅에 도움이 되는 정보를 콘솔에 출력할 수 있다. 주로 다음과 같은 목적으로 사용한다.

  • 디버깅: 변수의 값을 확인하거나, 코드가 실행되는 부분을 추적하기 위해 사용한다.
  • 로깅: 어떤 함수가 실행되었는지, 어떤 데이터가 반환되었는지 등을 추적하기 위해 사용한다.
  • 문제 해결: 코드 실행 중 예상치 못한 결과를 찾거나, 에러를 추적하여 수정하기 위해 사용한다.

1-3. 출력

console.log()는 요소를 HTML과 같은 트리 구조로 출력 하고, DOM 요소에 대해 특별한 처리를 제공한다.

1-4. 서식 문자

console.log()에서는 서식 문자를 이용해 문자열을 출력할 수 있다.

서식 문자설명예시
%d숫자console.log('Number: %d', 273);
%s문자열console.log('String: %s', 'hi~');
%jJSONconsole.log('Json: %j', {name:'jay'});

2. console.dir()

2-1. 정의

console.dir()은 객체의 속성을 콘솔에 출력하기 위해 사용한다. 이는 객체를 나열하거나 객체의 트리 구조를 표시하는 데 유용하다.

2-2. 사용 목적

console.log()와 달리, 객체의 모든 속성을 확인하기 위해 사용한다. 주로 다음과 같은 목적으로 사용한다.

  • 객체 속성 표시: 객체의 속성과 속성 값의 구조를 확인할 수 있다.
  • 트리 구조 표시: 객체의 계층 구조를 표시하여 복잡한 객체를 더욱 명확하게 파악할 수 있다.
  • 콘솔에서 객체 표현의 세부 정보 표시: console.log()와 달리, 객체를 더욱 자세히 표시할 수 있어, 더 많은 정보를 얻을 수 있다.

2-3. 출력

console.dir()은 요소를 JSON과 같은 트리 구조로 출력 하고, DOM JS 객체의 전체 표현을 보려고 할 때 유용하다. 즉, 객체의 데이터를 보고 싶을 때는 console.dir()을 사용하자.

3. 정리

구조객체함수
console.log()HTML과 같은 형태의 트리 구조 출력태그 내용 출력코드 출력
console.dir()JSON과 같은 형태의 트리 구조 출력태그 속성 출력속성 출력

객체와 속성은 console.dir(), 나머지는 console.log()를 사용하면 편하다.

4. 예시

4-1. document 출력

  • console.log(): HTML 형태의 트리구조 출력.

    console.log()

  • console.dir(): JSON 형태의 트리구조 출력.

    console.dir()

4-2. document.body 출력

  • console.log(): 해당 <body>의 요소 출력.

    console.log()

  • console.dir(): 전체 요소 출력.

    console.dir()

4-3. 함수 a() 출력

  • 함수(객체)도 마찬가지로 출력된다.

  • 만약, console.log(a());console.dir(a());를 사용할 경우, ()로 인해 함수를 실행하는 것이 되므로, 둘 다 true가 출력된다.

    console.log() vs console.dir()

Reference