Когда вычисляется A || B, то происходит следующее...
Если ToBoolean( A ) возвращает true, то вернуть A
иначе вернуть B
console.log((a || c)) //undefined
Если результат 'с' которое undefined - false какого он возвращает undefined
Согласно вашей же табличке результат вычисления 'c' в булевом выражении - false и общий результат должен быть false, а не undefined
|