私はこの行に出くわしましたが、それがどのように機能するのかわかりません。データ部分は json オブジェクトで、後で "myarray" 変数を使用して新しい変数を配列に割り当てます。
「myItems」オブジェクトは、データ オブジェクト内のオブジェクトに対して .map 関数を反復処理するために使用されます。しかし、以下のコードでこれがどのように割り当てられるかはわかりません。
var myItems = data || [], myarray;
私はこの行に出くわしましたが、それがどのように機能するのかわかりません。データ部分は json オブジェクトで、後で "myarray" 変数を使用して新しい変数を配列に割り当てます。
「myItems」オブジェクトは、データ オブジェクト内のオブジェクトに対して .map 関数を反復処理するために使用されます。しかし、以下のコードでこれがどのように割り当てられるかはわかりません。
var myItems = data || [], myarray;
これを書く別の方法は次のようになります。
var myItems;
if (data) {
myItems = data;
} else {
myItems = [];
}
var myarray;
2 つのグローバル変数myItems
とmyarray
. データが未定義でない場合、アイテムにデータが割り当てられます。データが未定義の場合、空の配列が に割り当てられmyItems
ます。
演算子は||
、Javascript の変数の真または偽の性質により、代入中に使用できます。
""
Javascript では、空の文字列や未定義など、いくつかの値が false に相当します。文字列リテラル != "" (例 "Test") やオブジェクトなどの他のものは true に相当します。||
代入で使用された場合、最初の式が true に等しい場合、 に続くコードのセクションは評価されません。
このリンクは、真実と偽りのより良い説明を提供します。
このコード行は、次のことを行います。
myarray
しmyItems
ます。data || []
data
true (空ではない) と評価された場合は取得し、それ以外の場合は新しい空の配列を取得することを意味します。これは、フォールバック/デフォルト値を提供する一種の JavaScript ニーモニックです。myItems
だから、それはより良い
var myarray;
var myItems = data || [];