TypeScript 用の Google マップ API の定義ファイルに取り組んでいます。
そして、例えば型のような列挙型を定義する必要があります。とgoogle.maps.Animation
の 2 つのプロパティが含まれています。BOUNCE
DROP
TypeScriptでこれをどのように行うべきですか?
TypeScript 用の Google マップ API の定義ファイルに取り組んでいます。
そして、例えば型のような列挙型を定義する必要があります。とgoogle.maps.Animation
の 2 つのプロパティが含まれています。BOUNCE
DROP
TypeScriptでこれをどのように行うべきですか?
これは現在、言語の一部です。これに関するドキュメントについては、TypeScriptLang.org > Basic Types > enumを参照してください。これらの列挙型の使用方法に関するドキュメントからの抜粋:
enum Color {Red, Green, Blue};
var c: Color = Color.Green;
または手動のバッキング番号を使用する場合:
enum Color {Red = 1, Green = 2, Blue = 4};
var c: Color = Color.Green;
たとえば を使用して、列挙名に戻ることもできますColor[2]
。
これがどのように連携するかの例を次に示します。
module myModule {
export enum Color {Red, Green, Blue};
export class MyClass {
myColor: Color;
constructor() {
console.log(this.myColor);
this.myColor = Color.Blue;
console.log(this.myColor);
console.log(Color[this.myColor]);
}
}
}
var foo = new myModule.MyClass();
これはログに記録されます:
undefined 2 Blue
これを書いている時点で、Typescript Playground は次のコードを生成するためです。
var myModule;
(function (myModule) {
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(myModule.Color || (myModule.Color = {}));
var Color = myModule.Color;
;
var MyClass = (function () {
function MyClass() {
console.log(this.myColor);
this.myColor = Color.Blue;
console.log(this.myColor);
console.log(Color[this.myColor]);
}
return MyClass;
})();
myModule.MyClass = MyClass;
})(myModule || (myModule = {}));
var foo = new myModule.MyClass();
次のID/文字列列挙型を使用できることに注意してください。
class EnumyObjects{
public static BOUNCE={str:"Bounce",id:1};
public static DROP={str:"Drop",id:2};
public static FALL={str:"Fall",id:3};
}