[Node.js] 콘솔 객체

프로젝트 폴더 안에 node_example 폴더를 만들고 test1.js 파일을 하나 만든다.

test1.js
console.log('Hello Zini');
cs

이제 새로 만든 자바스크립트 파일을 실행할 수 있다. 명령 프롬프트(cmd)를 켜서

cd 프로젝트폴더\node_example
node test1.js
cs

js 파일이 있는 폴더로 이동하고 node 명령어로 자바스크립트 파일을 실행하면 Hello Zini가 출력된다.

NodeJS Integration 확장기능 사용하기

자바스크립트 파일을 실행할 때마다 cmd를 사용하는 것이 불편할 수 있다. 브라켓에 NodeJS Integration 확장 기능을 설치하면 노드 실행 프로그램을 바로 사용할 수 있어 편리하다.

브라켓의 [확장 기능 관리자] 아이콘을 클릭한 후 NodeJS를 검색한다. (대소문자를 구별해야 나온다) 리스트에서 NodeJS Integration을 찾은 후 설치 버튼으로 설치한다. 브라켓을 다시 시작하면 상단 메뉴 영역에 [NodeJS] 메뉴가 새로 추가된다.

이제 왼쪽의 프로젝트 영역의 test1.js 파일을 선택한 후 마우스 오른쪽 버튼을 클릭해서 [Add to Node.js runner]를 클릭하면 가운데 작업 영역 아래쪽에 [nodejs process sample]탭이 나타난다.

test1.js 파일 탭으로 변경하기 위해서 [nodejs process example] 우측의 드롭다운 버튼을 클릭하고 test1.js을 선택한다. 왼쪽의 [실행] 아이콘(▶)으로 node 실행파일을 이용해서 자바스크립트 파일을 실행할 수 있다. 오른쪽에는 벌레 모양의 [디버그] 아이콘도 있다.

콘솔에 로그 뿌리기

처음 만든 자바스크립트 파일에 console 객체가 사용되었다. console 객체는 전역 객체(Global Object)라고 부르며 필요할 때 코드 어느 부분에서나 사용할 수 있다. (전역 객체는 함수 안과 밖 모두에서 사용할 수 있다)

대표적인 전역 객체는 console(콘솔 창에 결과를 보여주는 객체), process(프로세스 실행에 대한 정보를 다루는 객체), exports(모듈을 다루는 객체) 3가지가 있다.

console.log()

자바스크립트 파일을 하나 만들어보자.

var result = 0;
console.time('duration');
for(var i = 0; i <= 1000; i++){
    result += i;
}
console.timeEnd('duration');
console.log('1부터 1000까지 더하면 %d', result);
cs

이 코드는 1부터 1000까지 더한 결과와 걸린 시간을 출력한다. 이렇게 console 객체에는 자바스크립트 객체의 속성들을 한꺼번에 출력하는 dir() 메소드, 코드 실행 시간을 측정할 수 있는 time(), timeEnd() 메소드 등이 들어있다. 여기서 메소드의 정의는 객체를 만들었을 때 그 안에 정의한 함수이다. 즉 함수라고 생각하면 된다.

이제 코드를 실행해보자. cmd에서 node 명령을 사용해도 좋고, 확장 기능으로 브라켓에서 출력해도 된다.

실행한 파일(js)의 이름과 파일의 패스를 확인해야 하는 경우가 있다. 다음 코드로 파일의 이름, 패스를 확인할 수 있다.

console.log('현재 실행한 파일의 이름: %s', __filename);
console.log('현재 실행한 파일의 패스: %s', __dirname);
cs

여기서 사용된 __filename, __dirname 변수를 전역 변수라고 부른다. 어느 부분에서든 사용할 수 있는 변수인 것이다.

console.dir()

자바스크립트의 객체는 중괄호 {}를 사용해서 만들 수 있다. 중괄호 안에는 콤마(,)로 구분된 속성이 들어가며, 이 속성은 속성 이름과 값 사이에 콜론(:)으로 구분한다.

var Person = {name:"zini", age:20};
console.dir(Person);
cs

다음 코드를 보자. dir() 메소드를 호출하면 객체 안의 모든 속성이 콘솔에 출력된다.
dir() 메소드는 log() 메소드와 함께 객체의 속성을 확인할 때 자주 사용된다.

댓글 없음:

Powered by Blogger.