CoffeeScript、TypeScript、Dart、ClearScriptなど様々なJavaScript代替言語になるプログラミング言語が存在します。個人的にはCoffeeScriptが好みですが、個人の好みによって選択が分かれるところでしょう。大事なのは自分の性に合っているか、会社で組む場合は生産性と品質になるでしょうか。 ということで新しい代替プログラミング言語の紹介です。その名もColaScript、すかっと爽やかなスクリプトになるのでしょうか。

ColaScriptの使い方

ColaScriptのインストールはnpmでできます。

$ npm install cola-script -g

実行はcolaという拡張子のファイルに対して行います。

$ cola demo.cola -o demo.min.js

変換せずに使えるWebブラウザ用ランタイムも用意されています。

<script src="path/to/browser-cola.js"></script>
<script type="text/colascript" src="path/to/your.cola"></script>

変数の定義はJavaScriptライクです。

var num = 1;           // valid JavaScript
int i, j = 3;
String str = `someString`; // yes, you can use ` quotes

`を使って変数を定義する点が変わっていますね。

文字列内で変数を使えます。この辺りはCoffeeScriptライクです。

console.log("my login in twitter \@@twLogin");
console.log("length of my name @{ name.length }");
console.log("first letter in my name is {{ name[0] }}");

文字列の複数行もサポート。

console.log("

    List1:
        - Write code
        - Drink tea
        - Watch Instagram

    List2
        * Write code
        * Read Habrahabr
        * Listen music

    ");

配列の定義はこんな感じ。

Array arr = [0..9];      // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
// same as
Array arr = [0...10];
arr[0..2] = [584, 404];  // [584, 404, 3, 4, 5, 6, 7, 8, 9]
console.log(arr[0..2]);  // [584, 404, 3]
// PHP風に要素追加
arr[] = 22;

関数の定義は3パターンあります。

function f1(){
}

void f2(){
}

f3(){
}

Dart風な関数定義もサポートされています。

hello(String name:) => console.log("Hello @name!");
hello(name: 'dangreen');                             // Hello dangreen!

他にも構文の説明はたくさんありますので、GitHubにて確認してください。ColaScriptは様々な言語のいいとこ取りをしているような印象があります。それだけに多機能ですが、人によって書き方が変わるみたいにならないと良いのですが。今後の予定機能まで含めるとかなり面白いマークアップではないかと思います。

ColaScriptはBSD Licenseのオープンソース・ソフトウェアです。

TrigenSoftware/ColaScript