global
✅ 노드의 전역 객체
- 브라우저의 window 같은 역할
- 모든 파일에서 접근 가능하다.
- node에서 this는 global.
console
✅ 주로 개발 중 변수 값 확인 등 디버깅 용도로 사용
✅ console.log(): 일반적 내용을 콘솔에 출력
✅ console.error(): 에러 내용을 콘솔에 출력
- error와 log는 콘솔창에서 볼 때 차이가 없다. but, 실제 서버를 배포했을 때 서버에서 오류가 나거나 이럴 때 다른 곳(다른 폴더나 파일)에 결과를 저장해서 확인하기 위해 error를 사용한다.
✅ console.time(레이블), console.timeEnd(레이블): 같은 레이블을 가진 time과 timeEnd 사이의 시간 층정 용도
✅ console.table(배열): 배열 요소가 객체 리터럴인 경우 객체 속성들을 테이블 형식으로 출력. 한 열로 출력되면 보기 좋지 않으니 보기 쉽게 하기 위한..
그 밖에 console.dir(), console.trace() 등이 있다.
process.env
✅ 시스템 환경 변수들을 저장하는 객체
- 일부 환경 변수는 노드 실행 시 영향을 미친다.
e.g. NODE_OPTIONS(노드 실행 옵션), UV_THREADPOOL_SIZE(스레드풀 개수)
✅ 서버의 중요한 비밀키(데이터베이스 비밀번호, 서드파티 앱 키 등)를 저장하는 용도로 사용
- 중요한 비밀번호를 process.env의 속성에 저장하고 서버 코드에는 다음과 같이 사용
const secretId = process.env.SECRET_ID;
const secretCode = process.env.SECRET_CODE;
process.nextTick(콜백)
✅ 이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선적으로 처리함
- 프로미스도 nextTick처럼 우선순위가 높지만 nextTick보단 낮음
- 아래 예시에서 보면 setImmediate, setTimeout보다 promise와 nextTick이 먼저 실행됨
setImmediate(() => {
console.log('immediate');
});
process.nextTick(()=> {
console.log('nextTick');
});
setTimeout(()=> {
console.log('timeout');
},0);
Promise.resolve().then(() => {
console.log('promise');
});
// 1순위 nextTick
// 2순위 promise
// 3순위 timeout
// 4순위 immdiate
✅ process.extit(코드)
- 현재 프로세스를 멈춤
- 코드가 없거나 0이면 정상 종료. 이외의 코드는 비정상 종료를 뜻한다.
Timer 메소드는 노드 내장 객체가 아니라 노드 내장 모듈. 이건 나중에 필요하면 다시 알아보겠음.
'Dev > Node.js' 카테고리의 다른 글
| [Node.js] 내장 모듈(path, url, searchParams) (2) | 2024.04.30 |
|---|---|
| Cannot set headers after they are sent to the client 오류 (0) | 2024.04.30 |
| [Node.js] 09 - CommonJS & ECMAScripts Module (1) | 2024.04.22 |
| [Node.js] 08 - npm(Node Package Manager) (4) | 2024.04.22 |
| [Node.js] 07 - https와 http2 (0) | 2024.04.22 |