Java SE 8의 Nashorn 엔진 소개
Java SE 8부터는 Nashorn이라는 새로운 JavaScript 엔진이 기본 탑재되었습니다. Nashorn은 JSR 292(InvokeDynamic) 사양을 기반으로 개발되었으며, ECMA 표준(ECMAScript)으로 정규화된 JavaScript와의 호환성을 제공합니다.
jjs 명령줄 도구로 JavaScript 실행하기
Nashorn 엔진을 활용하면 별도의 브라우저나 Node.js 환경 없이도 명령 프롬프트(터미널)에서 바로 JavaScript 프로그램을 실행할 수 있습니다. 이를 위해 JDK에는 jjs라는 전용 명령줄 도구가 포함되어 있습니다.
jjs는 JDK가 설치된 디렉터리의 bin 폴더에 있으며, jar, javac 등 다른 JDK 도구들과 함께 위치합니다. 따라서 PATH 환경 변수에 JDK의 bin 경로가 설정되어 있다면 어디서든 바로 사용할 수 있습니다.
예제 코드 작성
먼저 간단한 JavaScript 파일인 new.js를 작성해 보겠습니다.
var display = function() {
// "Hello World!" 출력
print("Hello World!");
};
display();위 코드는 함수를 정의한 뒤 즉시 호출하여 화면에 문자열을 출력하는 기본적인 구조입니다. Nashorn은 자체적으로 print() 함수를 제공하므로 콘솔 출력이 가능합니다.
명령 프롬프트에서 실행
작성한 파일을 명령 프롬프트에서 아래와 같이 실행합니다.
$ jjs new.js
Hello World!
$
실행 결과로 Hello World!가 출력되는 것을 확인할 수 있습니다.
정리
이처럼 JDK에 내장된 Nashorn 엔진과 jjs 도구를 사용하면 추가 설치 없이 명령 프롬프트에서 손쉽게 JavaScript 코드를 테스트하고 실행할 수 있습니다. 간단한 스크립트 검증이나 학습 목적으로 매우 유용하게 활용할 수 있습니다.