assert
JavaScript ではどういう意味ですか?
次のようなものを見たことがあります:
assert(function1() && function2() && function3(), "some text");
そして、そのメソッドが何をするのかを知りたいですassert()
。
ベストアンサー1
JavaScript自体には標準はありませんassert
。おそらく標準を提供するライブラリを使用しているのでしょう。たとえばNode.jsを使用している場合は、アサーションモジュール(ブラウザや、コンソールを実装した他の環境)コンソール API提供するconsole.assert
。
関数の通常assert
の意味は、関数に渡された式が偽の場合にエラーをスローすることです。これは、アサーションチェック通常、アサーション (いわゆる) は、「テスト」または「デバッグ」ビルドでのみ使用され、実稼働コードからは削除されます。
常に文字列を受け入れる関数があるとします。誰かがその関数を文字列以外の何かで呼び出したかどうかを知りたいでしょう (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");
}
}