• Home
  • About
    • CodingGom's dev blog photo

      CodingGom's dev blog

      CodingGom의 개발 발자취

    • Learn More
    • Email
  • Posts
    • All Posts
    • All Tags
  • Projects

[Programming] Node.js 기초 - 내장객체

22 May 2019

Reading time ~2 minutes

Node.js 내장객체


global 객체

  • message, __filename, __dirname, console, error 등 전역정보를 담고있는 객체
  • 일반적으로 생략해서 쓴다

    console.log(__filename); // global.console.log(global.__filename); 와 같다

  • 속성, 함수등을 전영역에서 이용할수 있게 해주는 객체이다.
  • 되도록이면 속성등은 수정하지 않고 사용하는게 좋을거 같다… 전역메모리 이슈
  • 모듈 내부에 선언된 변수는 해당 모듈 내부에서만 사용가능하다.
  • 모듈사이에 공유하기 위해서는 해당객체 이용.

global.console / console 객체

  • stdout
  • 디버깅 콘솔에 데이터를 표시해주는 객체, 함수에 따라 표시해주는 데이터는 다르다.
    • log(str) : str(내용)을 콘솔에 표시. placeholders 사용 가능.
    • time(label) / timeEnd(label) : label을 공유하는 time ~ timeEnd 사이의 측정된 시간 출력
    • error(e) : e(내용)을 에러로 콘솔에(stderr에) 표시
    • dir(obj, option) : obj에 전달받은 객체를 option에 전달받은 설정으로 표시

      var person = {name:’제이디’, birthday:’1992.06.20’}; console.dir(person); // output : {name:’제이디’, birthday:’1992.06.20’} // option 부분은 생략가능

    • trace() : 호출됬을때 까지의 Stack 을 추적

      function c() { console.log(‘c’); console.trace(); }

      function b() { console.log(‘b’); c(); }

      function a() { console.log(‘a’); b(); }

      a();

  • Trace at c (repl:3:9) at b (repl:3:1) at a (repl:3:1) at repl:1:1 // <– For now feel free to ignore anything below this point, these are Node’s internals at realRunInThisContextScript (vm.js:22:35) at sigintHandlersWrap (vm.js:98:12) at ContextifyScript.Script.runInThisContext (vm.js:24:12) at REPLServer.defaultEval (repl.js:313:29) at bound (domain.js:280:14) at REPLServer.runBound [as eval] (domain.js:293:12) —

Timer

  • setTimeout(callback, ms) : millisecond 후에 callback 실행
  • setInterval(callback, ms) : millisecond 을 주기로 callback 실행
  • setImmediate(callback) : 즉시 callback 실행
  • clear~ : set~ 함수를 취소

    const interval = setInterval(() => { console.log(‘call’)}, 1000) // 1000ms(1초) 마다 콘솔에 call 이라는 내용 표시 clearInterval(interval); // interval 이라는 Timer 취소


global.process / process 객체

  • 현재 실행되는 노드프로세스의 설치버전, 아키텍쳐정보, 프로세스ID, 프로세스경로등의 정보를 담고있다.
  • process.env : 환경변수 정보
  • process.argv : 프로세스를 실행할때 전달받은 매계인자 정보
  • process.nextTick(callback) : 이벤트루프중 callback을 가장먼저 실행하도록 한다.
  • process.exit() : 프로세스 종료

exports / module.exports 객체

  • 직접 만든 모듈을 사용하기 위한 전역객체
  • 만든 모듈은 require()를 이용하여 불러온다.
  • module.exports에 객체를 할당하는 순간 전역변수가 아니게 된다.
    • module.exports = obj; // module.exports에 속성 추가 불가
  • exports(obj)에 속성을 모두 추가한뒤 최종적으로 module.exports = obj;

    // calcmodule.js var obj = {};

    obj.sum = function(a, b){ return a + b; }

    obj.multiply = function(a, b){ return a * b; }

    module.exports = obj;

    // calcmodule 사용 var calc = require(‘./calcmodule’); console.log(‘1+1=%d’, calc.sum(1, 1));



Programming Share Tweet +1