티스토리 뷰

1) REPL

Read, Evaluate, Print, Loop

 

2) CommonJS 모듈 시스템

* 모듈 만들기

  • 노드는 JS 코드를 모듈로 만들 수 있다.
    • 모듈: 특정한 기능을 하는 함수나 변수들의 집합으로 여러 프로그램에서 재사용 가능
  • 파일 끝에 module.exports로 모듈로 만들 값 지정
  • 다른 파일에서 require(file path)로 그 모듈의 내용을 가져온다.

3) exports

//var.js
const odd = '홀수';
const even = '짝수';

//모듈 선언
module.exports = {
 odd,
 even
}
//func.js
const { odd, even } = require('./var'); //구조 분해 할당과 모듈 내용 호출

 

4) this

* this

  • 노드에서 this를 사용할 때 주의점
    • 최상위 스코프 this는 module.export를 가리킴
    • 함수 선언문 내부의 this는 전역 객체를 가리킴
console.log(this); //{}
console.log(this === module.exports); //true
console.log(this === exports); //true

function whatIsThis() {
 console.log('function', this === exports, this === global);
}
whatIsThis(); //function false true

5) require

* require의 특성

  • require.main은 노드 실행 시 첫 모듈을 가리킨다.
  • require.cache에 한 번 require 한 모듈에 대한 캐싱 정보가 들어있음.

 

6) 순환 참조

* 순환 참조 주의

  • 모듈 A가 B를 require하고, B가 다시 A를 require 하는 경우: 무한 반복을 막기 위해 순환 참조 대상이 빈 객체가 된다.

7) ECMA JS 모듈

8) 내장 객체

  • global: node의 전역 객체
    • 브라우저의 window 같은 역할
    • 모든 파일에서 접근 가능
    • 생략도 가능
  • global 속성에 값을 대입하면 다른 파일에서도 사용 가능
//globalA.js
module.exports = () => global.message;

//globalB.js
const A = require('./globalA'); //require()로 globalA의 값을 불러오고
global.message = '안녕하세요'; //사용
console.log(A()); //출력
  • 타이머 메서드
    • setTimeout(콜백함수, 밀리초): 주어진 밀리초 이후에 콜백 함수를 실행
    • setInterval(콜백함수, 밀리초): 주어진 밀리초마다 콜백 함수를 반복 실행
    • setImmediate(콜백함수): 콜백 함수를 즉시 실행
    • clearTimeout(): 취소 명령
    • clearInterval(): 취소 명령
    • clearImmediate(): 취소 명령

9) process

  • 현재 실행중인 노드 프로세스에 대한 정보
  • process.env: 시스템 환경 변수들이 들어있는 객체

10) OS

  • os 모듈 메서드
  • path 모듈 메서드
  • join과 resolve의 차이
    • resolve는 /를 절대경로로 처리, join은 상대경로로 처리
    • 절대경로: 루트 폴더나 노드 프로세스가 실행되는 위치가 기준
    • 상대 경로: 현재 파일 기준

'Node.js' 카테고리의 다른 글

5. MySQL  (0) 2023.04.05
4. Express 웹 서버 만들기  (0) 2023.04.05
3. 패키지 매니저  (0) 2023.04.05
2. http 모듈로 서버 만들기  (0) 2023.04.05
1. 노드 기본 기능 익히기  (0) 2023.04.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함