1. 전역객체, console객체, 타이머
* global
- 노드의 전역 객체를 의미하며, 브라우저의 window같은 역할이다. 그러나 document는 존재하지 않는다.
- window와 같이 생략이 가능하다. (ex. console)
- 최근에는 브라우저와의 호환을 위해서 globalThis로 통일되어 사용할 수 있다.(익스플로러에서는 동작X)
- global 속성에 값을 대입하면 다른 파일에서도 사용이 가능하지만 관리가 힘들어지므로 권장하지 않는다.
* console
- 브라우저의 console과 거의 같다.
- console.log : 로그
- console.time, console.timeEnd : 시간 로깅
- console.error : 에러로깅
* 타이머 메서드
- 브라우저의 시간과 관련된 메서드와 거의 동일하다.
- setTimeout(콜백함수, 밀리초) : 주어진 시간 이후에 함수를 실행한다.
- setInterval(콜백함수, 밀리초) : 주어진 시간마다 함수를 실행한다.
- setImmediate(콜백함수) : 함수를 즉시 실행한다.
- clearTimeout(아이디) : setTimout을 취소한다.
- clearInterval(아이디) : setInterval을 취소한다.
- clearImmediate(아이디) : setImmediate를 취소한다.
2. filename, dirname
* filename
- __filename 으로 현재 파일 경로를 알 수 있다.
//filename.js
console.log(__filename);
// c:\Harry\filename.js
* dirname
- __dirname 으로 현재 폴더 경로를 알 수 있다.
//dirname.js
console.log(__dirname);
// c:\Harry
3. process
* process
- 현재 실행중인 노드 프로세스에 대한 정보를 담고 있다.
- process.version : 노드의 버전
- process.platform : 운영체제 플랫폼 정보
- process.cwd() : 현재 프로세스가 실행되는 위치
- process.cpuUsage() : 현재 cpu 사용량
* process.env
- 시스템 환경 변수들이 들어있는 객체이다.
const secretKey = process.env.SECRET_KEY;
- 주로 비밀키를 보관하는 용도로 쓰이며, precess.env로 접근 가능하다.
* process.nextTick
- 다른 콜백 함수들보다 우선순위가 있는 콜백함수를 만들 수 있다.
- process.nextTick(콜백함수) 와 같이 사용한다.
- setImmediate나 setTimeout(0초) 보다 먼저 실행되기는 하지만 프로미스와 같은 급의 우선순위를 가지므로 프로미스와는 순서를 지켜서 실행된다.
참고
'Server > Node.js' 카테고리의 다른 글
<Node> M1 Mac에서 Rosetta로 노드 패키지 설치하기 (0) | 2022.06.14 |
---|---|
<노드JS> http 서버 만들기 (0) | 2021.07.17 |
<노드JS> 노드 내장 모듈 (0) | 2021.07.16 |
<노드JS> 노드 JS란 (0) | 2021.07.15 |