Programming/☕ JavaScript

[node] console 메서드 (테이블형식출력, 성능측정, 객체출력)

남남이루 2022. 8. 27. 02:01

성능측정 : time, timeEnd

 

함수의 호출 전후에 console.time('id');, console.timeEnd('id') 입력하면 id: --ms 형식으로 걸린 시간이 출력 됨.

console.time("for loop");
for (let i = 0; i < 10; i++) {
  i++;
}
console.timeEnd("for loop");

호출 횟수 출력 : count

함수 내부에 console.count('x count'); 삽입하면, 함수가 호출될 때마다 x count : 횟수 형식으로 출력됨.

호출 경로, 디버깅에 용이 : trace

호출된 코드를 감싸는 함수를 기점으로 상위 코드를 줄줄이 출력해줌

그 외

console.table(Object)
console.info(msg)
console.dir(Object, option)
console.warn(msg)
console.error(msg)
console.assert(boolean, false msg)

 

전체 코드

console.log("logging~~");
console.clear(); // 로그화면 clear

// log level
console.log("log"); // 개발용
console.info("info");
console.warn("warn");
console.error("error"); // 에러

// assert (첫 인자가 false 일때, 로그 출력)
console.assert(1 === 2, "not same!");

// object
let table = {name: "nami", age: 26, company: {name: "GOOGLE"}};
console.log(table);
console.table(table);
console.dir(table); // 옵션 설정
console.dir(table, {showhidden: true, colors: true, depth: 2}); // 옵션 설정
console.dir(table, {showhidden: true, colors: false, depth: 2}); // 옵션 설정
console.dir(table, {showhidden: true, colors: false, depth: 0}); // 옵션 설정

// measuring time, 성능 측정할 때 용이
console.time("for loop");
for (let i = 0; i < 10; i++) {
  i++;
}
console.timeEnd("for loop");

// counting, 해당 함수의 호출 횟수
function a() {
  console.count("a function");
}

a();
a();
a();

// trace, debug에 유용
function f1() {
  f2();
}

function f2() {
  f3();
  console.trace(); // f3 <= f2 <= f1
}

function f3() {
  console.log("f3");
}

f1();