TypeScript(タイプスクリプト)とは、型やクラス、プロパティなどを独自に追加したフリーのオープンソースプログラミング言語で、TypeScriptファイル(*.ts)からJavaScriptファイル(*.js)への変換ができます。JavaScriptでクラスを書きたい場合はTyeScriptを使いましょう。コンパイルされたJavaScriptは、scriptタグでそのまま読み込むことができます。
TypeScriptはVisual Studio で「TypeScript SDK」をマイクロソフトからダウンロードしてください。
Node.jsを利用している場合は npm install -g typescript とタイプしてください。
またコンパイルする場合は tsc TypeScriptファイル(*.ts) とタイプしてください。get/setを書いたらさらに -t es5 を追加してコンパイルしましょう。
► スポイラーを表示
ファイル名:something.ts
[codeJScript]
class Something {
constructor(private name: string) {
}
public hello(): string{
return "Hello," + this.name + "!";
}
}
var world = new Something("World");
console.log(world.hello());
[/code]
コンパイル後のJavascriptファイル(ファイル名:something.js)
[codeJScript]
var Something = (function () {
function Something(name) {
this.name = name;
}
Something.prototype.hello = function () {
return "Hello," + this.name + "!";
};
return Something;
}());
var world = new Something("World");
console.log(world.hello());
[/code]
コンソール画面に「Hello,world!」と表示されたらOKです。
なお、サンプルは、
ニコニコ大百科:JavaScriptからのプログラムを抜粋したものです。
[/spoil]
► スポイラーを表示
お次はクラスです。
[codeJScript]
// TypeScript
class User {
constructor(private name?: string) {
}
public get Name() : string {
return this.name;
}
public set Name(value:string) {
this.name = value;
}
}
var user = new User("Hello, ");
user.Name += "World!";
console.log(user.Name);
[/code]
上のTypeScriptをJavaScriptに変換すると以下のように変換されています。
[codeJScript]
// JavaScript
var User = (function () {
function User(name) {
this.name = name;
}
Object.defineProperty(User.prototype, "Name", {
get: function () {
return this.name;
},
set: function (value) {
this.name = value;
},
enumerable: true,
configurable: true
});
return User;
}());
var user = new User("Hello, ");
user.Name += "World!";
console.log(user.Name);
[/code]