Верно ли я понял?
нетreturn contacts[i][prop] || "No such contact"
означает if (contacts[i][prop]) {
  return contacts[i][prop];
} else {
  return "No such contact";
}
или return contacts[i][prop]
  ? contacts[i][prop]
  : "No such contact"
Читайте как работает OR, если в выражении первая часть перед || истинна (Truthy) - возвращается она, если ложна (Falsy) - возвращается вторая часть выражения, после ||.x === (false || x)
Да, понял верно, но код ниже написал не верный. В коде имеется ввиду вернуть contacts[i][prop] если такое обращение даст положительный результат, или "No such contact" если его не будет.
Прочесть тут Условные операторы