座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

TypeScriptのこと

JavaScriptをほとんど書いたことがなくて、jqueryというのが出てきた頃にちょっと興味を持ったけど、やりたいことを調べてコピペして動かしてみる、以上のことはしなかった。JavaScriptに関する話題はずっと多いので、さすがに何も知らんというのもアレかなと思って、チュートリアルあたりから勉強し直してみようかな、という理解レベルしかない。そういう知識でTypeScriptを語ってみる。

TypeScriptはコンパイラ

TypeScriptはコンパイラである。

一般的にいうコンパイラソースコードを実行可能なバイナリにしたり、JavaC#であれば実行環境が解釈できる中間言語に変換するためのソフトだ。TypeScriptというのは、TypeScriptの構文で書いたコードをJavaScriptに変換する、というものだ。CoffeeScriptというのもけっこう前から耳にするようになったが、これもTypeScriptと同じようなものである。

TypeScriptで書くとこうなる。

class Person{ 
    name : string = "no name";
    age : number = 0;
    disp(){
        alert( this.name + ", " + this.age.toString())
    }
}

これをJavaScriptのコードに変換できる。これがJavaScriptコンパイラ、TypeScriptの役割である。

var Person = (function () {
    function Person() {
        this.name = "no name";
        this.age = 0;
    }
    Person.prototype.disp = function () {
        alert(this.name + ", " + this.age.toString());
    };
    return Person;
})();

JavaScriptを突っ込んでやりたくないと思った

なるほど、これは素晴らしい。素晴らしいがJavaScriptをコーディングする人はこのコードを理解しないといけないわけだ。正直言って、これを覚えなきゃならんとしたら、JavaScriptは大変だ。これだけシンプルなコードならほとんど知らない僕でも理解できるけど、同じ処理でも見劣りするコードはいくらでも書けるわけで、クソのようなコードを量産する人はいくらでもいる。

jqueryでもfunction(){ ...}みたいな書き方はよく出てきて、その時は「妙なコードを書かせるんだな」くらいにしか思っていなかった。

JavaScriptを知っていることはそれなりに足しになると思ったから勉強し直しているが、仕事で関わり合うのは最小限にしたいと思った。「JavaScriptでの大規模開発を可能にした!」よく聞くフレーズだけど、素のjsのコードを読み書きできるエンジニアは本当にすごい。

広告を非表示にする