1

私はこの行に出くわしましたが、それがどのように機能するのかわかりません。データ部分は json オブジェクトで、後で "myarray" 変数を使用して新しい変数を配列に割り当てます。

「myItems」オブジェクトは、データ オブジェクト内のオブジェクトに対して .map 関数を反復処理するために使用されます。しかし、以下のコードでこれがどのように割り当てられるかはわかりません。

var myItems = data || [], myarray;
4

4 に答える 4

3

これを書く別の方法は次のようになります。

var myItems;
if (data) {
    myItems = data;
} else {
    myItems = [];
}

var myarray;
于 2013-05-03T15:56:16.833 に答える
3

2 つのグローバル変数myItemsmyarray. データが未定義でない場合、アイテムにデータが割り当てられます。データが未定義の場合、空の配列が に割り当てられmyItemsます。

演算子は||、Javascript の変数の真または偽の性質により、代入中に使用できます。

""Javascript では、空の文字列や未定義など、いくつかの値が false に相当します。文字列リテラル != "" (例 "Test") やオブジェクトなどの他のものは true に相当します。||代入で使用された場合、最初の式が true に等しい場合、 に続くコードのセクションは評価されません。

このリンクは、真実と偽りのより良い説明を提供します。

于 2013-05-03T15:54:20.010 に答える
1

このコード行は、次のことを行います。

  • 変数を宣言myarraymyItemsます。
  • data || []datatrue (空ではない) と評価された場合は取得し、それ以外の場合は新しい空の配列を取得することを意味します。これは、フォールバック/デフォルト値を提供する一種の JavaScript ニーモニックです。
  • 前のステップの結果をmyItems

だから、それはより良い

var myarray;
var myItems = data || [];
于 2013-05-03T15:56:05.973 に答える