0

チェックボックスを管理するために使用したい TypeScript クラスがあります。次のようになります。

export class TriStateCheckboxManager {

    constructor(public checkBox: HTMLInputElement) {
        if (checkBox.type != "checkbox") {
            // What now?
        }
    }
}

チェックボックスのタイプが と等しくない場合、どうすればエラーを発生させることができますかcheckbox?

4

1 に答える 1

5

TypeScript は JavaScript のスーパーセットであるため、すべての組み込み JavaScript 関数、型、オブジェクト、キーワードなどをサポートします。探しているのはthrow、目的の例外を発生させるキーワードです。

これまでのコードは良かったので、次のようにします。

export class TriStateCheckboxManager {

    constructor(public checkBox: HTMLInputElement) {
        if (checkBox.type !== "checkbox") {
            // checkBox doesn't meet the reqruirements,
            // so raise an error. Optionally, you could
            // log a message, warning or whatever you want
            // to the console.
            console.warn("checkBox.type doesn't match.", checkBox, this);
            throw "checkBox.type doesn't match."    // Throw anything you want here
        }
    }
}

ところで: JavaScript (したがって TypeScript) での比較には、 and の代わりにand!==を使用することを強くお勧めします。詳しくはこちらをご覧ください。===!===

編集: MiMo が以下で述べたように、任意のタイプをスローできるため、オブジェクトも適切な候補になります。

この記事は、JavaScript / TypeScript のエラー処理に興味がある人にとって有望に見えることがわかりました。これは、JavaScript でエラーをスローするためのMDNページです。

于 2013-03-03T19:10:15.050 に答える