Проблема связана с приоритетом оператора.
console.log(
('<a class="" href="' +
menuObject.url + '">' + menuObject.name + '</a>'+
(i <menuItems.length-1 )) ? sep : "");
выполняется (обратите внимание на дополнительные скобки, которые я добавил). При использовании тернарного оператора (который имеет мало общего с if
предложениями между прочим), вы всегда должны использовать круглые скобки, как здесь:
console.log(
'<a class="" href="' +
menuObject.url + '">' + menuObject.name + '</a>'+
((i <menuItems.length-1 ) ? sep : ""));