パソコンの画面

はじめに

Mac(OSX)には、アップルが開発したJavaScriptCore(JSC)というインタプリタが既定で入っています。

今回は、そのJSCを使って、MacのターミナルでJavascriptを実行できる環境を設定していきたいと思います。

※プログラミング言語で書かれたソースコード(=プログラム)を読み込んで、それを機械語に変換してコンピュータに命令を与える実行環境のことをインタプリタといいます。

パスが通っているかを確認

まずは、MacにJSCのインタプリタのパスが通っているかを確認します。

$ jsc --help
-bash: jsc: command not found

初期設定では、MacにJSCのインタプリタのパスは通っていないので、これからパスを設定していきます。

Q.パスを通すとは?
A.コマンド検索パス(シェルがコマンド実行ファイルを探しに行くパスのこと)を追加することです。

本来プログラムを実行する場合、どこに実行先のプログラムが格納されているのかを指定しなければいけません。

今回の例であれば、jscというファイルは、

/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc

とフルパスを指定しないと実行できないということです。

そのため、「jsc」というプログラム名だけで実行できるようにするためには、PATHという環境変数に値を設定(パスを通す)しなければいけないのです。

MacにJSCのパスを設定

binに移動してから、JSCのパスを通します。

$ cd /usr/local/bin
$ ln -s /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc ./

その後にもう一度確認すると、

$ jsc --help
Usage: jsc [options] [files] [-- arguments]
  -d         Dumps bytecode (debug builds only)
  -e         Evaluate argument as script code
  -f         Specifies a source file (deprecated)
  -h|--help  Prints this help message
  -i         Enables interactive mode (default if no files are specified)
  -s         Installs signal handlers that exit on a crash (Unix platforms only)
  -p   Outputs profiling data to a file
  -x         Output exit code before terminating

  --options                  Dumps all JSC VM options and exits
  --dumpOptions              Dumps all JSC VM options before continuing
  --=  Sets the specified JSC VM option

「jsc」で実行することができましたね。

対話型インターフェイスで実行

試しに、対話型インターフェイスでJavascriptのプログラムを実行します。

$ jsc
>>> function tenTimes(a) { 
... var b = a * 10;
... return b;
... }
undefined
>>> tenTimes(100)
1000

引数を10倍にする簡単なプログラムを実行できました。

Javascriptファイルを実行

次に、hello.jsというJavascriptのファイルを作り、それを実行したいと思います。

(function(){
  print('Hello, World!');
}());

$ jsc hello.js
Hello, World!

Hello, World!が出力できましたね。

※Macでは、Javascriptの出力に使われるConsole.log();が使えません。今回は、print();を使って出力しました。

おわりに

個人的に、コーディングにはVimを使っているので、MacのターミナルからJavascriptが実行できたらいいなーと思っていました。

少し調べると、こんなにも簡単に設定できたので、業務でJavascriptを使っている方はぜひ設定してみてください!

関連記事

フロントエンドエンジニア必見!Node.jsを徹底解説

PROFILE

はじめまして、大阪のWeb制作会社Yuapです。「Yuap(ユアプ)」とは英語で「あなたのプランナー」という、Your Plannerの頭文字をとった社名です。 ホームページ制作|Webシステム開発|Webコンサルティングなどの業務を通じて、みなさまの事業の成長に貢献できるようなプランナーになれるよう、日々チャレンジしております。

※お問い合わせ・お見積りは無料です。 IT|ホームページ|Webシステムのことならなんでもお気軽にご相談ください。お問い合わせはこちらから。