node 환경에서의 글로벌 객체
브라우저 환경에서는 window가 글로벌 객체, node 에서는 global 이 글로벌 객체이다.
console.log(global.console); // 브라우저 환경에서는 window가 글로벌 객체, node 에서는 global이 글로벌 객체 /* 글로벌 객체에 함수 선언 */ global.hello = ()=>{ console.log('hello'); } global.hello(); hello(); // hello /* console 도 글로벌 객체에 속함 */ global.console.log('test') // test
Console log 에 대하여
브라우저 콘솔에서 확인하면 로그 레벨별로 색깔이 다름을 알 수 있다.
warn이나 error와 같은 심각한 에러가 있을때 에러를 찾기 쉽고, 배포시에도 서버의 심각성을 빠르게 알아차릴 수 있다.
에러인데도 계속 console.log 만 사용하면 정말 심각한지 아닌지 걸러내는게 힘들다 🙂 ..
또, 개발할때는 로그를 이용하지만 배포할때는 로그를 출력하지않도록 레벨별로 출력할건지 파일에 저장할건지 컨트롤이 가능하기때문에, 개발 할때부터 로그 레벨 별로 다르게 사용하는 것이 좋다.
console.log('loggingggggg'); console.clear(); //log level console.log('log'); // 개발 용도 console.info('info'); // 정보 전달 용도 console.warn('warn'); // 경보 단계 console.error('error'); // 심각한 에러, 사용자 에러, 시스템 에러 // assert (첫번째 전달한 인자 값이 true가 아닐때만 실행) console.assert(2 === 3, 'not same!'); console.assert(2 === 2, 'same!'); // print object const student = {name:'dylan', age:20, company: {name: 'AC'}}; console.log(student); console.table(student); // 테이블 형식으로 이쁘게 출력됨 console.dir(student,{showHidden:true, colors: false, depth:0}); // measuring time (성능 측정시 유용) console.time('for loop') for (let i = 0; i < 10; i++){ i++; } console.timeEnd('for loop'); // for loop: 0.083ms //counting function a(){ console.count('a function'); } a(); console.countReset('a function'); // count reset a(); //trace (어디서 호출했는지 파악가능 : 디버깅시 유용) function f1(){ f2(); } function f2(){ f3(); } function f3(){ console.log('f3'); console.trace(); } f1();