1: 2016-03-08 (火) 13:45:57 njf[5] [6] [7] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | TypeScriptの魅力の一つは型定義が使えること。 | ||
+ | しかもJavaScript互換なのでいつものJavaScript開発で型定義だけ導入するという使い方も出来る。 | ||
+ | (このページの内容は公式ページとだいたい同じなので、そちらも参照のこと[[http://www.typescriptlang.org/Handbook]]) | ||
+ | |||
+ | *真偽型 [#u9c69f94] | ||
+ | trueとfalseが代入できる。 | ||
+ | var b:boolean = false; | ||
+ | |||
+ | *Number型 [#v0648239] | ||
+ | |||
+ | 浮動小数点型。JavaScriptとの互換性のためか、整数型はないらしい。 | ||
+ | |||
+ | var n:number = 2.1; | ||
+ | |||
+ | *String型 [#z2cd7fb5] | ||
+ | 文字列が格納できる。 | ||
+ | var s:string = "abc"; | ||
+ | |||
+ | *配列 [#zf86ae54] | ||
+ | |||
+ | 次の2種類の定義が使える。2つの定義に差はない。 | ||
+ | |||
+ | var list1:number[] = [1,2,3]; | ||
+ | var list2:Array<number> = [1,2,3]; | ||
+ | |||
+ | *列挙子(Enum型) [#y924a636] | ||
+ | |||
+ | C++とかにあるのと同じようなもの。まずenumで型を定義し、それを使ってインスタンスを作る。 | ||
+ | |||
+ | enum Color {Red, Green, Blue}; | ||
+ | var c: Color = Color.Green; | ||
+ | |||
+ | 指定しなければ各要素には0から通番がふられる。以下のようにして変えることも出来る。 | ||
+ | |||
+ | enum Color {Red = 1, Green, Blue}; | ||
+ | |||
+ | 全要素を定義することもできる。 | ||
+ | |||
+ | enum Color {Red = 1, Green = 2, Blue = 4}; | ||
+ | |||
+ | 数値から変数名を文字列として取り出すことも出来る。 | ||
+ | |||
+ | enum Color {Red = 1, Green, Blue}; | ||
+ | var colorName: string = Color[2]; | ||
+ | |||
+ | alert(colorName); // => Green | ||
+ | |||
+ | *Any型 [#h985da2b] | ||
+ | 何型でも入る型。これを指定しないとTypeScriptは変換時に異なる型が代入されたのを検知するとエラーを出す。 | ||
+ | |||
+ | |||
+ | var notSure: any = 4; | ||
+ | notSure = "maybe a string instead"; | ||
+ | notSure = false; // okay, definitely a boolean | ||
+ | |||
+ | |||
+ | **型推論 [#vf318585] | ||
+ | 型を指定しない時はTypeScriptは型を類推して決める。 | ||
+ | |||
+ | var s = "abc"; //string型と推論 | ||
+ | s = 1; //エラー | ||
+ | |||
+ | 型を決めたくない時は明示的にAny型を使う。 | ||
+ | |||
+ | *Void型 [#q9aae863] | ||
+ | |||
+ | 型がないことを明示する型。戻り値のない関数に使う。 | ||
+ | |||
+ | function warnUser(): void { | ||
+ | alert("This is my warning message"); | ||
+ | } |
(This host) = https://njf.jp