Node.js REPL


Node.js REPL(Read Eval Print Loop:互動式解譯器) 表示一個電腦的環境,類似 Window 系統的終端機或 Unix/Linux shell,我們可以在終端機中輸入指令,並接收系統的回應。

Node 自帶了互動式解釋器,可以執行以下任務:

  • #讀取 - 讀取使用者輸入,解析輸入了Javascript資料結構並儲存在記憶體中。

  • 執行 - 執行輸入的資料結構

  • #列印## - 輸出結果

  • 循環 - 循環操作以上步驟直到使用者兩次按下ctrl-c 按鈕退出。

Node 的互動式解釋器可以很好的除錯 Javascript 程式碼。

開始學習REPL

我們可以輸入以下指令來啟動Node 的終端:

$ node>

這時我們就可以在> 後輸入簡單的表達式,並按下回車鍵來計算結果。

簡單的表達式運算

接下來讓我們在Node.js REPL 的命令列視窗中執行簡單的數學運算:

$ node> 1 +45> 5 / 22.5> 3 * 618> 4 - 13> 1 + ( 2 * 3 ) - 43>

使用變數

你可以將資料儲存在變數中,並在你需要的使用它。

變數宣告需要使用

var 關鍵字,如果沒有使用 var 關鍵字變數會直接列印出來。

使用

var 關鍵字的變數可以使用 console.log() 來輸出變數。

$ node> x = 1010> var y = 10undefined> x + y20> console.log("Hello World")Hello Worldundefined> console.log("www.runoob.com")www.runoob.comundefined

多行表達式

Node REPL 支援輸入多行表達式,這有點類似 JavaScript。接下來讓我們來執行一個do-while 迴圈:


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


... 三個點的符號是系統自動產生的,你回車換行後即可。 Node 會自動偵測是否為連續的表達式。

下劃線(_)變數

你可以使用底線(_)來取得表達式的運算結果:

$ node> var x = 10undefined> var y = 20undefined> x + y30> var sum = _undefined> console.log(sum)30undefined>


REPL 指令

  • #ctrl + c - 退出目前終端。

  • ctrl + c 按兩次 - 退出 Node REPL。

  • ctrl + d - 退出Node REPL.

  • 向上/向下鍵 - 查看輸入的歷史指令

  • tab 鍵 - 列出目前指令

  • ##.help

    -列出使用指令

  • .break

    - 退出多行運算式

  • ##.clear
  • - 退出多行表達式

  • .save
  • filename

    - 將目前的Node REPL 會話儲存到指定檔案

  • .load
  • filename

    - 載入目前Node REPL 工作階段的檔案內容。

  • 停止REPL

在前面我們已經提到按下兩次

ctrl + c

建置就能退出REPL:

$ node>(^C again to quit)>
Gif 實例示範


接下來我們透過Gif 圖表為大家示範實例操作: