1. 전역변수
- 전역변수
. __filename : 현재 실행 중인 파일 경로
. __dirname : 현재 실행 중인 폴더 경로
- 전역객체baesunghan:~/Documents/workspace/nodejs$cat node.global.jsconsole.log('filename:', __filename);console.log('dirname:', __dirname);baesunghan:~/Documents/workspace/nodejs$node node.global.jsfilename: /Users/baesunghan/Documents/workspace/nodejs/node.global.jsdirname: /Users/baesunghan/Documents/workspace/nodejsbaesunghan:~/Documents/workspace/nodejs$
. console : 콘솔 화면과 관련된 기능 관리
. exports : 모듈과 관련된 기능 관리
. process : 프로그램과 관련된 기능 관리
2. console 객체
콘솔 화면과 관련되 기능을 관리하는 객체
- 제공 메소드
. log() : 콘솔 화면에 내용 출력, java의 System.out.print와 비슷한 기능
%d(숫자), %s(문자), %j(json)을 변수로 받아서 출력 가능함.
. time(label) : 시간 측정 시작
. timeEnd(label) : 시간 측정 종료
baesunghan:~/Documents/workspace/nodejs$cat node.global.jsconsole.log('filename:', __filename);console.log('dirname:', __dirname);// console.log 출력console.log('%d, %s, %j', 273, 'Hello World!!!', {name:'Toven'}, 'no mapping');// 시간 측정 시작console.time('alpha');var output = 1;for (var i=1; i<=100; i++) {output *= i;}console.log('Result:', output);// 시간 측정 종료console.timeEnd('alpha');baesunghan:~/Documents/workspace/nodejs$node node.global.jsfilename: /Users/baesunghan/Documents/workspace/nodejs/node.global.jsdirname: /Users/baesunghan/Documents/workspace/nodejs273, Hello World!!!, {"name":"Toven"} no mappingResult: 9.33262154439441e+157alpha: 1msbaesunghan:~/Documents/workspace/nodejs$
3. process 객체
모듈과 관련된 기능을 관리하는 객체
- 프로세스 객체의 속성
. argv : 실행 매개변수
. env : 실행 환경과 관련된 변수
. version : Node.js version
. versions : Node.js에 종속된 프로그램 버젼
. arch : 프로세스의 아키텍쳐
. platform : 플랫폼
- process 객체의 method
. exit([exitCode = 0]) : 프로그램 종료, [] 값은 생략 가능함.
. memoryUsage() : 메모리 사용 정보 객체 리턴
. uptime() : 현재 프로그램 실행된 시간 리턴
4. exports 객체baesunghan:~/Documents/workspace/nodejs$cat node.process.js// process.argvprocess.argv.forEach(function (item, index) {// Outputconsole.log(index + ' : ' + typeof(item) + ' : ', item);// In the execution arguement, when exist '--exit'if (item == '--exit') {// get next execution arguementvar exitTime = Number(process.argv[index+1]);// stop program after some timesetTimeout(function () {process.exit();}, exitTime);}});console.log('process.env :', process.env);console.log('process.version : ', process.version);console.log('process.memoryUsage() : ', process.memoryUsage());baesunghan:~/Documents/workspace/nodejs$baesunghan:~/Documents/workspace/nodejs$node node.process.js0 : string : node1 : string : /Users/baesunghan/Documents/workspace/nodejs/node.process.jsprocess.env : { TERM_PROGRAM: 'Apple_Terminal',SHELL: '/bin/bash',TERM: 'xterm-256color',TMPDIR: '/var/folders/0y/124f1qys05q4gvfgs1f4bg2h0000gn/T/',Apple_PubSub_Socket_Render: '/private/tmp/com.apple.launchd.rv0Fsj5JLE/Render',TERM_PROGRAM_VERSION: '343.7',TERM_SESSION_ID: '01CC5A92-950D-4921-9F47-5A32E1D1A2D8',USER: 'baesunghan',SSH_AUTH_SOCK: '/private/tmp/com.apple.launchd.7TZ54yc6vs/Listeners',__CF_USER_TEXT_ENCODING: '0x1F5:0x3:0x33',PATH: '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/baesunghan/Apps/apache-maven-3.2.1/bin:/usr/local/mysql/bin:',PWD: '/Users/baesunghan/Documents/workspace/nodejs',JAVA_HOME: '/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home',LANG: 'ko_KR.UTF-8',XPC_FLAGS: '0x0',PS1: '\\u:\\w$',XPC_SERVICE_NAME: '0',SHLVL: '1',HOME: '/Users/baesunghan',LOGNAME: 'baesunghan',_: '/usr/local/bin/node',OLDPWD: '/Users/baesunghan/Documents/workspace' }process.version : v0.12.2process.memoryUsage() : { rss: 18878464, heapTotal: 9751808, heapUsed: 4132360 }baesunghan:~/Documents/workspace/nodejs$
Node.js는 모듈을 사용하여 기능을 확장하는데 이 모듈을 관리하는 기능
baesunghan:~/Documents/workspace/nodejs$cat module.js
// 절대값을 구하는 메소드 정의
exports.abs = function (number) {
if (0 < number) {
return number;
} else {
return -number;
}
};
exports.circleArea = function (radius) {
return radius * radius * Math.PI;
};baesunghan:~/Documents/workspace/nodejs$cat main.js
// 모듈을 추출
var module = require('./module.js');
// 모듈 사용
console.log('abs(-273) = %d', module.abs(-273));
console.log('circleArea(3) = %d', module.circleArea(3));baesunghan:~/Documents/workspace/nodejs$node main.js
abs(-273) = 273
circleArea(3) = 28.274333882308138
baesunghan:~/Documents/workspace/nodejs$
댓글 없음:
댓글 쓰기