[Node.JS] 강좌 04편: REPL 터미널


list

REPL 은 Read Eval Print Loop의 약자입니다. 이는 윈도우 커맨드, 혹은 UNIX/LINUX Shell 처럼 사용자가 커맨드를 입력하면 시스템이 값을 반환하는 환경을 가르킵니다.

Node.js는 REPL 환경과 함께 제공되며 다음과 같은 기능을 수행 할 수 있습니다.

  • Read – 유저의 값을 입력 받아 JavaScript 데이터 구조로 메모리에 저장합니다.
  • Eval – 데이터를 처리(Evaluate) 합니다.
  • Print – 결과값을 출력합니다.
  • Loop – Read, Eval, Print 를 유저가 Ctrl+C를 두번 눌러 종료할때까지 반복합니다.

Node.js 의 REPL 환경은 자바스크립트 코드를 테스팅 및 디버깅할때 유용하게 사용됩니다.

 

REPL 시작하기

REPL 은 쉘/콘솔에 파라미터 없이 node 를 실행하여 실행 할 수 있습니다.

$ node
>

간단한 표현식 사용

Node.js REPL 커맨드 프롬프트에 간단한 연산자를 사용해봅시다.

$ node
> 1 + 5
6
> 1 + ( 6 / 2 ) - 3
1
>

변수 사용

다른 스크립트처럼, 변수에 값을 저장하고 나중에 다시 출력 할 수 있습니다.

만약 var 키워드를 사용하면 명령어를 입력했을때 변수의 값이 출력되지 않고, var 키워드를 사용하지 않으면 값이 출력됩니다.

또한, console.log() 를 통해 출력 할 수 있습니다.

$ node
> x = 10
10
> var y = 5
undefined
> x + y
15
> console.log("Value is " + ( x + y ))
Value is 15
undefined

Multi-Line 표현식 사용

do-while 루프를 REPL에서 실행해봅시다.

$ node
> var x = 0
undefined
> do {
... x++;
... console.log("x: " + x);
... } while ( x < 3 );
x: 1
x: 2
x: 3
undefined
>

Underscore ( _ ) 변수

밑줄 _ 변수는 최근 결과값을 지칭합니다.

$ node
> var x = 10;
undefined
> var y = 5;
undefined
> x + y;
15
> var sum = _
undefined
> console.log(sum)
15
undefined
>

 

REPL 커맨드

  • Ctrl+C – 현재 명령어를 종료합니다.
  • Ctrl+C (2번)  – Node REPL 을 종료합니다.
  • Ctrl+D – Node REPL을 종료합니다.
  • 위/아래 키 – 명령어 히스토리를 탐색하고 이전 명령어를 수정합니다.
  • Tab – 현재 입력란에 쓴 값으로 시작하는 명령어 / 변수 목록을 확인합니다.
  • .help – 모든 커맨드 목록을 확인합니다.
  • .break – 멀티 라인 표현식 입력 도중 입력을 종료합니다.
  • .clear – .break 와 같습니다.
  • .save filename – 현재 Node REPL 세션을 파일로 저장합니다.
  • .load filename – Node REPL 세션을 파일에서 불러옵니다.

    list

  • 최재영

    감사합니다!

  • Kyeseung Kim

    안녕하세요 벨로퍼트님! 브라우저의 콘솔탭도 자바스크립트의 REPL이라고 할 수 있나요?

  • Manas

    실전에서 repl 쓸 일이 많나요?