console

console
지금까지 사용했던 console도 노드에서는 window 대신 global 객체 안에 들어 있습니다.
브라우저에서의 console과 거의 비슷합니다.

console 객체는 보통 디버깅을 위해 사용됩니다.
개발 중 변수에 값이 제대로 들어 있나 확인하기 위해 사용하기도 하고,
에러 발생 시 에러 내용을 콘솔에 표시하기 위해서도 사용하며,
코드 실행 시간을 알아보려고 할 때도 사용합니다.
대표적으로 console.log 메서드가 있습니다.
console.log는 지금껏 계속 사용했으므로 익숙할 것입니다.
다른 로깅 함수들도 알아봅시다.
                    
                        // console.js 파일

                        const string = 'abc';
                        const number = 1;
                        const boolean = true;
                        const obj = {
                            outside: {
                                inside: {
                                    ket: 'value',
                                },
                            },
                        };

                        console.time('전체 시간');
                        console.log('평범한 로그입니다. 쉼표로 구분해 여러 값을 찍을 수 있습니다.');
                        console.log(string, number, boolean);
                        console.error('에러 메시지는 console.error에 담아주세요');

                        console.dir(obj, {colors: false, depth: 2});
                        console.dir(obj, {colors: true, depth: 1});

                        console.time('시간 측정');
                        for (let i = 0; i < 100000; i++) {
                            continue;
                        }
                        console.timeEnd('시간 측정');

                        function b() {
                            console.trace('에러 위치 추적');
                        }
                        function a() {
                            b();
                        }
                        a();

                        console.timeEnd('전체 시간');
                    
                
  • console.time(레이블) :
    console.timeEnd(레이블)과 대응되어 같은 레이블을 가진 time과 timeEnd 사이의 시간을 측정합니다.
  • console.log(내용) :
    평범한 로그를 콘솔에 표시합니다. console.log(내용, 내용, ...) 처럼 여러 내용을 동시에 표시할 수도 있습니다.
  • console.error(에러 내용) :
    에러를 콘솔에 표시합니다.
  • console.dir(객체, 옵션) :
    객체를 콘솔에 표시할 때 사용합니다.
    첫 번째 인자로 표시할 객체를 넣고, 두 번째 인자로 옵션을 넣습니다.
    옵션의 colors를 true로 하면 콘솔에 색이 추가되어 보기가 한결 편해집니다.
    depth는 객체 안의 객체를 몇 단계까지 보여줄지를 결정합니다. 기본값은 2입니다.
  • console.trace(레이블) :
    에러가 어디서 발생했는지 추적할 수 있게 해줍니다.
    보통은 에러 발생 시 에러 위치를 알려주므로 자주 사용하지는 않지만, 위치가 나오지 않는다면 사용할만 합니다.
코드를 실행하면 콘솔에는 다음과 같이 표시됩니다.
단, console.time의 시간이나 console.trace의 경로는 사용자의 컴퓨터 환경에 따라 다를 수 있습니다.
편리한 디버깅을 위해서 console 객체에는 지금도 새로운 메서드들이 추가되고 있습니다.
실제로는 console.js에서 소개한 메서드보다 더 다양한 메서드가 있습니다.