1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScriptの "assert "とは何ですか?

2022-03-30 19:48:05

質問

とは何ですか? assert はJavaScriptでどういう意味ですか?

みたいなのを見たことがあります。

assert(function1() && function2() && function3(), "some text");

というメソッドを教えてほしい。 assert() を実行します。

どのように解決するのですか?

規格がない assert はJavaScriptそのものです。例えば、Node.jsを使っているのであれば、おそらくは アサーションモジュール . (を実装したコンソールを提供するブラウザなどの環境では、そのようなことはできません。 コンソールAPI 提供する console.assert .)

の通常の意味は assert 関数は、関数に渡された式が偽の場合にエラーを投げるものです。 アサーションチェック . 通常、アサーション(と呼ばれるもの)は、quot;testing" または "debug" ビルドでのみ使用され、プロダクションコードでは取り除かれます。

例えば、次のような関数があったとします。 常に は文字列を受け取ります。TypeScriptやFlowのような型チェックのレイヤーがなくても、誰かが文字列でないものを使ってその関数を呼び出したかどうかを知りたいと思うだろう。だから、そうするかもしれない。

assert(typeof argumentName === "string");

...ここで assert は、その条件が偽の場合、エラーを投げます。

非常にシンプルにすると、次のようになります。

function assert(condition, message) {
    if (!condition) {
        throw message || "Assertion failed";
    }
}

さらに良いのは Error オブジェクトは、スタックトレースなどを収集する利点があります。

function assert(condition, message) {
    if (!condition) {
        throw new Error(message || "Assertion failed");
    }
}