Server/Node.js (Express)

[Node.js] 노드 내장 객체

ooeunz 2019. 10. 9. 11:32
반응형

global

노드의global 객체는 브라우저의 window와 같은 전역 객체이다. 따라서 모든 파일에 접근 할 수 있고, 생략할 수 있다. 아래는 global객체안에 포함된 다양한 객체들의 나열이다.

 

console

console은 보통 디버깅을 위해 사용된다. 개발 중 변수에 값이 제대로 들어가 있나 확인하거나, 에러 발생 시 에러 내용을 콘솔에 표시하기 위해 사용하거나, 코드 실행 시간을 알아보려고 할 때도 사용한다. 아마 이 객체는

console.log()

메서드로 익숙하게 사용 해보았을 것이다.

 

  • console.time(레이블) : console.timeEnd(레이블)과 대응되어 같은 레이블을 가진 time과 timeEnd 사이의 시간 측정한다.
  • console.log(내용) : 평범한 로그를 콘솔에 표시.
  • console.error(에러 내용) : 에러를 콘솔에 표시.
  • console.dir(객체, 옵션) : 객체를 콘솔에 표시할 때 사용. 옵션에 colors를 true로 하면 콘솔에 색이 추가됨(가독성).
  • console.trace(레이블) : 에러가 어디서 발생했는지 추적할 수 있게 해준다.

 

타이머

  • setTimeout(콜백 함수, 밀리초) : 주어진 밀리초(1000분의 1초) 이후에 콜백함수를 실행한다.
  • setInterval(콜백 함수, 밀리초) : 밀리초마다 콜백 함수를 반복 실행한다.
  • setImmediate(콜백 함수) : 콜백 함수를 즉시 실행한다.

위의 타이머 함수들은 모두 아이디를 반환한다. 이러한 아이디를 사용하여서 타이머를 취소할 수 있다.

  • clearTimeout(아이디) : setTimeout 취소
  • clearInterval(아이디) : setInterval 취소
  • clearImmediate(아이디) : setImmediate 취소
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const timeout = setTimeout(() => {
console.log('1.5초 후 실행');
}, 1500);
 
setTimeout(() => {
  clearTimeout(timeout);
}, 2500);
 
const immediate = setImmediate(() => {
  console.log('즉시 실행');
});
 
// 즉시 실행
// 1.5초 후 실행
cs

 

__filename, __dirname

노드에서는 파일 사이에 모듈관계가 있거나 현재 파일의 경로나 파일명을 알아야 하는 경우가 있다. 이와 같은 객체를 사용한다.

1
2
3
4
5
console.log(__dirname);
console.log(__filename);
 
// /Users/ooeunz/dev/javascript
// /Users/ooeunz/dev/javascript/test.js
cs

 

 

반응형