1. ホーム
  2. typescript

[解決済み] クラスのプロパティが整数であることはどのように指定するのですか?

2022-03-11 18:46:58

質問

を実験しています。 TypeScript を持つクラスを作成中です。 ID であるべきフィールドが integer , ちょっと混乱してしまいました。

まず、Visual Studio 2012 で TypeScript プラグインを使用した場合、以下のようになります。 int をインテリセンスの型リストに追加しました。 というコンパイルエラーが出ますが。

int' という名前は現在のスコープに存在しません。

言語仕様書を確認したところ、以下のプリミティブ型しかありません。 number , string , boolean , null および undefined . いいえ integer の型があります。

そこで、2つの疑問が残りました。

  1. には、どのように表示すればよいのでしょうか? 私のクラスのユーザー 特定のフィールドが単なる number しかし integer (そして決して floating 点または decimal 数)ですか?

  2. が表示されるのはなぜですか? int が有効な型でない場合、intellisense のリストに表示されますか?

更新:これまでに得たすべての回答は、どのように JavaScript はint型を持たないので、int型を強制するのは難しいでしょう。 int を実行時に作成する必要があるのですが......。そんなことは分かっている。 私が聞いているのは TypeScript というアノテーションを提供する方法です。 integer . おそらく、何か特別な形式のコメントでしょうか。

解決方法は?

  1. 数値が整数か浮動小数点かを直接指定する方法はないように思います。TypeScriptの仕様書3.2.1項を見ると、以下のように書かれている。

    "...Numberプリミティブ型は、同様の名前のJavaScriptプリミティブ型に対応し、倍精度の64ビットフォーマットIEEE 754浮動小数点値を表します..."。

  2. 私が思うに int はVisual StudioのintelliSenseのバグです。正しくは number .