js
파일을 실행하려면 터미널에 $ node [파일이름].js
라 치면 실행된다.
터미널 창에서 $ node
를 입력하면 한줄 씩 바로 코드 결과를 확인 할 수 있다.
console 객체는 **Global Object(전역 객체)**이다. Global Object는 필요할 때 코드의 어느 부분에서나 사용할 수 있다.
Global Object | 설명 |
---|---|
console | 콘솔 창에 결과를 보여주는 객체 |
process | 프로세스의 실행에 대한 정보를 다루는 객체 |
exports | 모듈을 다루는 객체 |
> console.log('결과는 %d입니다.',10);
결과는 10입니다.
undefined
> console.log('JSON : %j',{name: "정다혜"});
JSON : {"name":"정다혜"}
undefined
결과에서 나오는 undefined
는 반환 값이 없다는 의미이다.
undefined
는 단순히 값이 존재하지 않는다고 생각하면 되고, null
은 의도적으로 값을 비웠다고 생각하면된다.
메소드 | 설명 |
---|---|
dir(object) | 자바스크립트 객체의 속성들을 출력 |
time(id) | 실행 시간을 측정하기 위한 시작 시간 기록 |
timeEnd(id) | 실행 시간을 측정하기 위한 끝시간 기록 |
변수 | 설명 |
---|---|
__filename | 실행한 파일의 이름 출력 |
__dirname | 실행한 파일이 들어 있는 폴더 출력 |
process 객체는 프로그램을 실행했을 때 만들어지는 프로세스 정보를 다루는 객체이다.
속성/메소드 | 설명 |
---|---|
argv | 프로세스를 실행할 때 전달되는 파라미터(매개변수)정보 |
env | 환경 변수 정보 |
exit() | 프로세스를 끝내는 메소드 |
process.env
속성에는 사용자 정의 환경 변수만 들어가 있기 때문에 OS와 같은 시스템 환경 변수에 접근할 수 없다.
메인 파일 코드 중 독립적인 기능은 별도 파일로 분리할 수 있으며, 메인 파일에서는 전체적인 진행 순서나 흐름만을 제어한다. 이렇게 분리된 파일을 모듈이라고 한다.
// main.js
var module1 = require('module1');
module1.함수이름();
//module1.js
exports.함수이름 = 함수정의;
exports
객체의 속성으로 변수나 함수를 지정하면 그 속성을 main.js와 같은 메인 자바 스크립트 파일에서 불러와 사용할 수 있다.
모듈을 불러올 때는 require()
메소드를 사용한다.
module.exports
에는 하나의 변수나 함수 또는 객체를 직접 할당한다.
exports
에는 속성을 추가할 수 있어 여러 개의 변수나 함수를 각각의 속성으로 추가할 수 있다.
//module1.js
exports.add = function(a,b){
return a+b;
};
exports.multiply = function(a,b){
return a*b;
};
// module2.js
var calc={};
calc.add = function(a,b){
return a+b;
};
clac.multiply = function(a,b){
return a*b;
};
module.exports = calc;
다른 사람이 만들어 둔 모듈을 외장 모듈이라고 한다. 시스템 환경 변수에 접근할 수 있는 모듈의 이름은 nconf이다.
npm패키지를 사용해 다른 사람들이 만들어 올려 놓은 패키지를 다운할 수 있다.
$ npm install nconf
내장 모듈은 자주 사용하는 기본 기능을 노드에 포함시켜 제공하는 것이다. 내장 모듈은 설치하지 않고 바로 사용할 수 있다.
메소드 | 설명 |
---|---|
hostname() | 운영체제의 호스트 이름을 알려준다. |
totalmem() | 시스템의 전체 메모리 용량을 알려준다. |
freemem() | 시스템에서 사용 가능한 메모리 용량을 알려준다. |
cpus() | CPU정보를 알려준다. |
networkInterfaces() | 네트워크 인터페이스 정보를 담은 배열객체 반환 |
메소드 | 설명 |
---|---|
join() | 여러 개의 이름들을 모두 합쳐 하나의 파일 패스로 만들어 준다. |
dirname() | 파일 패스에서 디렉터리 이름 반환 |
basename() | 파일의 확장자를 제외한 이름 반환 |
extname() | 파일의 확장자 반환 |