Вопрос к программистам

Ошибка в книге или я туплю? Помогите разобраться пожалуйста.

Изучаю сейчас книгу Дэвида Флэнагана по javascript. Там такой пример (коменты из книги):


"Этот прием часто используется в функциях для определения значений по умолчанию параметров:


// Скопировать свойства объекта o в объект p и вернуть p

function copy(o, p) {

p = p | | { } ; // Если объект p не был передан, создать новый объект

}"


Разве не так должно быть? :

function copy(o, p) {

p = o | | { } ; // Если объект p не был передан, создать новый объект

}"