私は様々なNode.jsプロジェクトのソースを見てきましたが、一部の人々はinvariantを使用していることに気付きました。私が理解したところでは、invariant
はコードにアサーションを入れ、必要に応じてエラーを発生させるツールです。Facebookの不変量vs投げる場合
質問:
にエラーに伝統的な方法を投げ対invariant
を使用して有利に働きますか?
// Using invariant
function doSomething(a, b) {
invariant(a > b, 'A should be greater than B');
}
// If throw
function doSomething(a, b) {
if(a <= b) {
throw new Error('A should be greater than B');
}
}
多分、複数の行ではなく1行だからです。 Googleグーバ(Java)の「前提条件」と同じ種類のパターン – Krease