Shota Kubota
With these developments, we’re starting to see applications of unprecedented size written with JavaScript, despite the fact that creating large-scale JavaScript applications is hard. TypeScript makes it easier.
変数や引数などに型を指定できる
            
// 変数を宣言する際に、変数名のすぐ後ろにコロンと型を書くことにより、型が指定できる
var name: string = "hoge";
// 型指定を省略した場合は、型推論によって変数の型が決まる
var name = "hoge"; // 型推論により var name: string = "hoge"; と同じ意味になる
var age = 30; // 型推論により var name: number = 30; と同じ意味になる
// function文やfunction式では、引数と返り値に型を指定可能
function parseNumber(str: string) : number {
    // hogehoge
}
var parseNumber: (str: string) => number = function (str: string): number {
    // hogehoge
};
            
        
    クラスっぽいことデモ(参考: JavaScript にクラスは作れますか? - hogehoge @teramako)
            
module Say {
     export class Message {
         constructor(public message: string) {
             this.message = message;
             alert(this.message);
         }
     }
 }
 var message = new Say.Message("Hello, world");
            
        
    
            
interface IPerson {
    name: string;
    birthday: Date;
    hello: () => void;
}
class Person implements IPerson {
    name: string = "kubosho_";
    birthday: Date = new Date("10/11/1989");
    hello: () => void = function () {
        alert("My name is " + this.name);
    };
}
var person = new Person();
person.hello();
            
        
    機能が複数あり、かつそれぞれが独立しているようなサービス
(ここのコードは共通で使いたいけど、ここのコードは個別のページで使いたい的な)
一つのJSファイルに全ての機能が書かれていたら、引き継ぐ人が死ぬといった時にTypeScriptを使うといいかもしれないです
上記のような場面では、素のJavaScriptで書いたほうがたぶん早いです
ご静聴ありがとうございました