1

演習のために JavaScript ライブラリを作成しており、Array などの既存のオブジェクトでコードをモデル化しています。

私が気付いたのは、array.pop(配列が空の場合)のようなメソッドarray.splice(-1, -1)が、エラーをスローする代わりにサイレントに失敗することです。なぜそうなのですか?デバッグ目的でエラーをスローする方がよいのではないですか? または、私が知らなかった JavaScript のベスト プラクティスはありますか?

4

1 に答える 1

2

空の配列の array.pop は type: undefined を返します。結果を使用しようとすると、エラーがスローされます。

array.splice は常に配列を返します。何も削除されていない場合は、空の配列が返されます。

このようなメソッドが期待値を返すことを確認するには、単体テストを作成する必要があります。

簡単な例:

if( !myarray.pop() ){
    console.log( 'Error' );
}

より詳細な単体テストを行うには、js 単体テスト ライブラリを使用します。私が使用したのは QUnit.js http://qunitjs.com/です

于 2013-03-02T18:27:08.390 に答える