IntroJS の変数宣言は var で始めます。
var a = 0
変数名は、参照範囲内にある識別子 (関数名、仮引数名、変数名)と同じ名前にはできません。
変数の初期化は、必ず必要です。
変数初期化の結果のデータ型によって、変数のデータ型が決まります。
変数に値を再代入するときは、同じデータ型を指定しなければなりません。
var b = 1
b = 2
# b = [3] はできない。
IntroJS の型システムは、かっこよく言えば、型推論ありの静的型付けシステムということになります。
ということで、整数型しか使えない簡易プログラミング言語 IntroJS は、いかがでしょうか。
IntroJS