次の関数を検討してください。
function interpolate(color1, color2, progress) {};
すべての引数を渡す必要があり、color1 と color2 は色オブジェクトのインスタンスである必要があり、progress は数値である必要があります。
タイプをチェックするか、単純に try/catch ブロックをロジックにラップして失敗するかどうかを確認する方が速いですか?
失敗した場合は、すべての引数が存在し、正しいことを確認して、説明的な期待を投げることができます。