개발 및 디버깅 단계에서 정말 많이 사용하는 것이 바로 콘솔 로그입니다.
콘솔 로그를 활용하는 방법들에 대해 살펴보겠습니다.
1. console.log ( 출력하기 )
기본적인 출력 기능입니다.
많은 분들이 console.log()는 잘 알고 계시고 사용하고 계시지만
그 외에도 등급별로 다른 출력 기능이 있습니다.
사용해보시면 구문 별로 색상이 다르게 출력됩니다.
// log level console.log('log') // 출력 console.info('info') // 정보 console.warn('warn') // 경보 console.error('error')) // 에러
2. console.assert ( 조건이 참일 때만 출력하기 )
내가 원하는 특정 조건이 맞을 때만 출력하는 방법입니다.
console.assert(1 === 1, '1===1 same'); console.assert(1 === 2, '1===2 same');
1 === 1이 참인 조건이기에 첫 번째 문만 출력됩니다.
3. console.table , console.dir ( Object 출력하기 )
Object를 출력할 때는 기본적으로 console.log로 사용도 하지만
한눈에 보기 쉽게 출력할 때는 console.table을 사용하면
Object 가 테이블 형태로 출력되어 훨씬 보기 쉽습니다.
또 console.dir 이 있는데요~
console.log 와 동일하지만 여러 가지 옵션을 설정할 수 있습니다.
대표적으로 아래 문처럼 depth 를지정하면 오브젝트 하위 오브젝트를
depth에 해당하는 만큼 함께 출력 가능합니다.
console.log(obj) console.table(obj) console.dir(obj, {colors: false, depth: 1});
4. console.time ( 시간 측정하기 )
console 에는 시간을 측정하는 기능도 있습니다.
console.time 과 console.timeEnd인데요
아래와 같이 사용합니다.
console.time('time1'); console.time('time2'); for (let i = 0; i < 10; i++) { } console.timeEnd('time1'); // console.time('time1') 이 선언된 시간부터 지금까지 걸린시간을 출력 for (let j = 0; j < 100; j++) { } console.timeEnd('time2'); // console.time('time2') 이 선언된 시간부터 지금까지 걸린시간을 출력
5. console.count ( 카운팅 하기 )
console에서는 카운팅 기능도 제공하고 있습니다.
console.count로 카운팅을 할 수 있고 console.countReset으로 초기화합니다.
아래 예제를 살펴보겠습니다.
function count() { console.count('how many times function count is called?'); } count(); // how many times function count is called? : 1 count(); // how many times function count is called? : 2 count(); // how many times function count is called? : 3 console.countReset('how many times function count is called?'); // 카운트 초기화기능 count(); // how many times function count is called? : 1 count(); // how many times function count is called? : 2
6. console.trace ( 호출 경로 파악하기 )
console.trace 를통해 호출 경로를 출력할 수 있습니다.
function func1() { func2(); } function func2() { func3(); } function func3() { console.trace(); } func1(); /* at func3 (/User/temp.js:32:11) at func2 (/User/temp.js:29:3) at func1 (/User/temp.js:26:3) at Object...... */
위 코드를 실행하면 func3, 2, 1 순서대로 호출된 곳을 출력해줍니다.
알아두시면 디버깅 시 굉장히 유용하게 사용할 수 있을 것 같습니다.