Map это объект или массив?
Map - это объект. 
JavaScript массив - это тоже объект, так-то, но с авто индексацией элементов. По сути, массивы в JS это экземпляры класса Array.
Отвечая конкретнее на Ваш вопрос, Map это по сути обыкновенный объект с различными методами помощниками. Вы можете и сами такой же сделать накидав методов.
Map это объект, объект не может ничего возвращать, возвращать могут его методы. Другое дело что в отличие от объекта, создаваемого как {}, объект Map итерируемый. Итерация по нему происходит по парам ключ-значение.