- 자바스크립트는 스크립트 언어이므로 컴파일을 하지 않아도 즉석에서 코드 실행 가능
- REPL이란?
- 브라우저 콘솔과 같은, 노드의 콘솔
- 입력한 코드를 읽고(READ), 해석하고(EVAL) 결과물을 반환하고(PRINT), 종료할 때까지 반복한다(LOOP)고 하여 REPL이라고 부름
- 사용법
- 터미널이나 파워쉘, 혹은 vsc(ctrl+`) 등에서 다음과 같이 입력
node
- 주로 간단한 한두 줄짜리 코드 테스트용으로 사용됨
- 터미널에 node 라고 입력하여 노드 실행
- 현재 위치가 실행될 폴더의 디렉토리인지 확인
- 'node 파일명' 으로 파일 실행
- 모듈이 될 파일과 모듈을 불러와서 사용할 파일이 필요
- 재사용이 용이함
- 코드
(index.js)const { odd, even } = require('./var'); const checkNumber = require('./func'); function checkStringOddOrEven(str) { if (str.length % 2) { // 홀수면 return odd; } return even; } console.log(checkNumber(10)); console.log(checkStringOddOrEven('hello'));
(var.js)
const odd = '홀수입니다'; const even = '짝수입니다'; //변수를 모듈로 내보냄 module.exports = { odd, even, };
(func.js)
//var.js에서 정의한 상수를 가져옴. global.require 에서 global을 생략 const { odd, even } = require('./var'); function checkOddOrEven(num) { if (num % 2) { // 홀수면 return odd; } return even; } //module.exports에는 함수나 변수를 대입해도 된다. module.exports = checkOddOrEven;
- ES2015에서의 모듈
(func.mjs)import { odd, even } from './var'; function checkOddOrEven(num) { if (num % 2) { // 홀수면 return odd; } return even; } export default checkOddOrEven;
- 확장자 .mjs를 사용하고 싶지 않다면, package.json에 'type: "module"' 속성을 넣으면 된다