node.js의 전역 객체
Node.js의 전역 객체
전역변수
- node.js 이므로 최상위 객체 window는 없음
- 전역변수, 전역 함수를 가짐.
- 전역 변수 | 객체 이름 | 설명 | |:——–:|:——–:| | __filename | 현재 실행 중인 코드의 파일 경로를 나타냅니다 | | __dimame | 현재 실행 중인 코드의 폴더 경로를 나타냅니다|
- 사용법
console.log('filename:', __filename);
console.log('dirname:', __dirname);
전역 객체
| 객체 이름 | 설명 | |:——–:|:——–:| | console | 콘솔 화면과 관련된 기능을 다루는 객체 | | exports | 모듈과 관련된 기능을 다루는 객체 | | process | 프로그램과 관련된 기능을 다루는 객체 |
console 객체
- 지정한 매개변수 이외의 내용은 그냥 출력된다
- ‘%j’는 json 데이터가 들어간다
console.log('숫자: %d + %d = %d', 273, 52, 273 + 52,'가나다라라');
console.log('문자열: %s', 'Hello World..!', '특수기호와 상관 없음');
console.log('JSON: %j', {name:'RintTanTt'});
- 시간측정 예제
- ‘a’는 타이머의 이름이라고 생각하면 된다(아무 글자를 넣어도 됨)
// 시간측정 시작
console.time('a');
var output = 1;
for(var i = 1; i<=10; ++i){
output *= 1;
}
console.log('Result:', output);
// 시간 측정을 종료합니다
console.timeEnd('a');
- 출력 글자 색상을 바꿀 수도 있다
// 출력합니다.
console.log('\u001b[31m', 'Hello World .. !');
console.log('\u001b[32m', 'Hello World .. !');
console.log('\u001b[33m', 'Hello World .. !');
console.log('\u001b[34m', 'Hello World .. !');
console.log('\u001b[35m', 'Hello World .. !');
console.log('\u001b[36m', 'Hello World .. !');
console.log('\u001b[1m');
console.log('\u001b[31m', 'Hello World .. !');
console.log('\u001b[32m', 'Hello World .. !');
console.log('\u001b[33m', 'Hello World .. !');
console.log('\u001b[34m', 'Hello World .. !');
console.log('\u001b[35m', 'Hello World .. !');
console.log('\u001b[36m', 'Hello World .. !');
// 초기화합니다.
console.log('\u001b[0m');
process 객체
- 프로그램과 관련된 정보를 나타내는 객체
속성 이름 | 설명 |
---|---|
argv | 실행 매개변수를 나타냄 |
env | 컴퓨터 환경과 관련된 정보를 나타냄 |
version | Node.js 버전을 나타냄 |
verisons | Node.js와 종속된 프로그램 버전을 나타냄 |
arch | 프로세서의 아키텍처를 나타냄 |
platform | 플랫폼을 나타냄 |
- 매개변수를 차례대로 출력하고 ‘–exit’ 문자열을 찾으면 입력 시간 후에 프로그램이 종료되도록 만든 예제
// process.argv
process.argv.forEach(function(item, index){
// 출력합니다
console.log("메모리 사용정보(객체반환):",process.memoryUsage());
console.log(index+':'+typeof(item)+':',item);
// 실행 매개변수에 --exit가 있을 때
console.log("프로그램이 실행된 시간:",process.uptime());
if('--exit' == item){
// 다음 실행 매개변수를 얻음
var exitTime = Number(process.argv[index+1]);
// 일정 시간 후 프로그램을 종료
setTimeout(function(){
process.exit();
}, exitTime);
}
});
exports 객체와 모듈
- nodejs는 모듈을 사용하여 기능을 확장
- 무듈은 기능을 쉽게 사용하고자 메서드와 속성을 미리 정의해서 모아놓은 것
- 다음 예제는 main.js가 module.js 의 기능을 불러와 사용
- 모듈 추출 시 require 함수 사용
- module.js
// abs:절대값을 구함
exports.abs = function(number){
if(0 < number)
return number;
else
return -number;
};
//원의 넓이를 구하는 메서드
exports.circleArea = function(radius){
return radius * radius * Math.PI;
}
- main.js
// 모듈을 추출
var module = require('./module.js');
// 모듈을 사용
console.log('abs(-273)=%d', module.abs(-273));
console.log('circleArea(3) = %d', module.circleArea(3));