1
コンポーネントを管理するためのクラスを作成しようとしていますが、実際にはユニオンタイプとTypeScriptタイプのガードに関する問題に悩まされています。自分の検証機能を使ってブロック/関数をガードする方法はありますか?
Ex。
namespace Validation {
export function isString(value: any): boolean {
return (typeof value === "string" || value instanceof String);
};
export function isElement(value: any): boolean {
return (value instanceof Element);
};
};
class Component {
constructor(selectorOrElement: string | Element) {
var element: Element = (Validation.isString(selectorOrElement)) ? document.querySelector(selectorOrElement) : selectorOrElement;
if (!Validation.isElement(element)) throw new Error("element is null or not found");
}
}
私は自分のタイプの検証と共用体型を検証しようとしたが、活字体は、私はJavaScriptのデフォルトtypeof selectorOrElement === "string"
とelement instanceof Element
これを検証するとき、私は...有効なタイプとして変数を使用してみましょうdoesntの働く
独自の型検証を使用する表記法や方法はありますか?あなたは型ガードis T
を探している
コード自体ではなく、スクリーンショットを添付してください。スクリーンショットは検索エンジンによって索引付けされません。 –
@MikeMcCaughan、thx。私はいくつかのスニペットを追加しました – VitorLuizC