Please explain. Task "Record Collection"

Hello! In decision in task ‘Record Collection’ I don’t understand the next code line:

collection[id][prop] = collection[id][prop] || [];

I don’t understand why we use - || - here…Please explain me:slightly_smiling_face:

Below is the complete solution

var collection = {
  2548: {
    album: "Slippery When Wet",
    artist: "Bon Jovi",
    tracks: [
      "Let It Rock",
      "You Give Love a Bad Name"
    ]
  },
  2468: {
    album: "1999",
    artist: "Prince",
    tracks: [
      "1999",
      "Little Red Corvette"
    ]
  },
  1245: {
    artist: "Robert Palmer",
    tracks: [ ]
  },
  5439: {
    album: "ABBA Gold"
  }
};

// Only change code below this line
function updateRecords(id, prop, value) {
  if (value === "") {
    delete collection[id][prop];
  } else if (prop === "tracks") {
    **collection[id][prop] = collection[id][prop] || [];**
    collection[id][prop].push(value);
  } else {
    collection[id][prop] = value;
  }

  return collection;
}

// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

It reads as follows:

prop property of id record of collection is equal to itself OR (if no such property) empty array;

1 Like

Thank you very much for the explanation :slight_smile: