반응형
1. global
전역 객체로, 모든 파일에서 접근 가능
2. console
console.time(lable) 같은 레이블을 가진 time과 timeEnd 사이의 시간을 측정함
console.log( 내용 ) 평범한 로그를 콘솔에 표시
console.error( 에러 내용 ) 에러 콘솔에 표시
console.table( 배열 ) 객체의 속성들이 테이블 형식으로 표현됨
console.dir( 객체, 옵션 ) 객체를 콘솔에 표시할 때 사용
첫 번째 인수 : 표시할 객체, 두 번째 인수 : 옵션
옵션의 colors를 true로 하면 콘솔에 색이 추가되어 보임.
depth는 객체 안의 객체를 몇 단계까지 보여줄지 결정 (기본값 2)
console.trace( 레이블 ) 에러가 어디에서 발생했는지 추적할 수 있게 함
일반적으로 에러가 발생하면 에러 위치를 알려주지만, 위치가 나오지 않을 때 사용할만 함.
console.js
const string = 'bac';
const num = 1;
const bool = true;
const obj = {
outside: {
inside:{
key : 'value',
},
},
};
console.time('전체 시간');
console.log('평범한 로그. 쉼표로 구분해 여러 값을 찍을 수 있음.');
console.log(string, num, bool);
console.error('에러 메시지는 console.error에');
console.table([{ name : 'Joohoney', birth: 1994}, {name : 'I.M', birth : 1996}]);
console.dir(obj, {colors: false, depth: 2});
console.dir(obj, {colors: true, depthL: 1});
console.time('시간 측정');
for(let i = 0; i < 100000; i++){}
console.timeEnd('시간 측정');
function b(){
console.trace('에러 위치 추적');
}
function a(){
b();
}
a();
console.timeEnd('전체 시간');
terminal
PS ch 3\3.4 Node embedded object> node console
평범한 로그. 쉼표로 구분해 여러 값을 찍을 수 있음.
bac 1 true
에러 메시지는 console.error에
┌─────────┬────────────┬───────┐
│ (index) │ name │ birth │
├─────────┼────────────┼───────┤
│ 0 │ 'Joohoney' │ 1994 │
│ 1 │ 'IM' │ 1996 │
└─────────┴────────────┴───────┘
{ outside: { inside: { key: 'value' } } }
{ outside: { inside: { key: 'value' } } }
시간 측정: 2.65ms
Trace: 에러 위치 추적
at b (ch 3\3.4 Node embedded object\console.js:27:13)
at a (ch 3\3.4 Node embedded object\console.js:30:5)
at Object.<anonymous> (ch 3\3.4 Node embedded object\console.js:32:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
at internal/main/run_main_module.js:17:47
전체 시간: 19.404ms
3. timer
setTimeout(콜백 함수, 밀리초) 주어진 밀리초( 1 / 1,000 ) 이후에 콜백함수 실행
setInterval(콜백 함수, 밀리초) 주어진 밀리초마다 콜백함수 반복 실행
setImmediate(콜백 함수) 콜백 함수를 즉시 실행
clearTimeout(아이디) setTimeout을 취소
clearInterval(아이디) setInterval을 취소
clearImmediate(아이디) setImmediate를 취소
timer.js
// 3 (1.5초 후)
const timeout = setTimeout(() => {
console.log('1.5초 후 실행');
}, 1500);
// 2 (1초 후), 4
const interval = setInterval(() => {
console.log('1초마다 실행');
}, 1000);
// clearTimeout에 의해 실행되지 않음
const timeout2 = setTimeout(() => {
console.log('실행되지 않습니다.');
}, 3000);
setTimeout(() => {
clearTimeout(timeout2);
clearInterval(interval);
}, 2500);
// 1
const immediate = setImmediate(() => {
console.log('즉시 실행');
});
// clearImmediate에 의해 실행되지 않음
const immediate2 = setImmediate(() => {
console.log('실행되지 않습니다.');
});
clearImmediate(immediate2);
terminal
PS ch 3\3.4 Node embedded object> node timer
즉시 실행
1초마다 실행
1.5초 후 실행
1초마다 실행
초 | 실행 | 콘솔 |
0 | immediate |
즉시 실행 |
1 | interval | 1초마다 실행 |
1.5 | timeout | 1.5초마다 실행 |
2 | interval | 1초마다 실행 |
2.5 |
출처 | Node.js 교과서 개정 2판
반응형
'코딩 테스트 > [Node] Node.js 교과서' 카테고리의 다른 글
[Node] 내장 모듈 | 3.5 노드 내장 모듈 사용하기 | os, path, url, crypto, (0) | 2021.08.14 |
---|---|
[Node] 내장 객체 | 3.4 노드 내장 객체 알아보기 | __filename, module, process (0) | 2021.08.12 |
[Node] Module | 3.3 모듈로 만들기 (0) | 2021.08.12 |
[Node] 참고 자료 (0) | 2021.08.12 |
댓글