[解決済み] TypeScriptのクラス型チェック
質問
ActionScriptでは、実行時に型式を確認するために は演算子 :
var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite); // true
trace(mySprite is DisplayObject);// true
trace(mySprite is IEventDispatcher); // true
TypeScriptで変数(extends or)が特定のクラスやインターフェイスであるかどうかを検出することは可能でしょうか?
言語仕様の中にそれに関する記述が見つかりませんでした。クラスやインターフェイスを扱うときにはあるはずなのですが。
どのように解決するのですか?
<ブロッククオート4.19.4 instanceof演算子
は
instanceof
演算子は、左オペランドが Any 型、オブジェクト型、または型パラメータ型であること、右オペランドが Any 型または 'Function' インタフェース型のサブタイプであることを要求します。結果は常に Boolean プリミティブ型である。
つまり、次のように使うことができます。
mySprite instanceof Sprite;
この演算子はActionScriptにもありますが、もうそちらでは使わない方がいいことに注意してください。
<ブロッククオートis 演算子は ActionScript 3.0 の新機能で、変数や式が与えられたデータ型のメンバであるかどうかをテストすることができます。以前のバージョンの ActionScript では、instanceof 演算子がこの機能を提供していましたが、ActionScript 3.0 では、データ型のメンバシップをテストするために instanceof 演算子を使用するべきではありません。なぜなら、x instanceof y という式は単に x のプロトタイプチェーンに y が存在するかどうかをチェックするだけだからです(そして ActionScript 3.0 ではプロトタイプチェーンは継承階層の全体像を提供しない)。
TypeScriptの
instanceof
は同じ問題を共有しています。まだ開発途中の言語なので、そのような機能を提案することをお勧めします。
こちらもご覧ください。
- MDN インスタンスオブ
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] TypeScriptの "*.d.ts "について
-
[解決済み] TypeScriptのオブジェクトリテラルでの型定義
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み] コンストラクトシグネチャを持つインターフェースはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jest で typescript を使用して identity-obj-proxy を使用すると未定義が返される
-
[解決済み] プロパティ 'values' はタイプ 'ObjectConstructor' に存在しません。
-
[解決済み] eslintをtypescriptで使用する - モジュールへのパスを解決できない
-
[解決済み] TypeScriptでグローバル変数を作成する
-
[解決済み] TypeScriptで文字列をenumに変換するには?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み] async/await構文で拒否する方法は?
-
[解決済み】ランタイムにオブジェクトのクラス名を取得する
-
[解決済み】タイプからプロパティを除外する
-
[解決済み】タイプライター。TS7006: パラメータ 'xxx' は暗黙のうちに 'any' 型を持つ。