How is this array joining a string?

Question about delimiter :

console.log(Array(2).join('a'));
console.log(['', '', ''].join('a'));

Why does the above code only return:

a
aa

instead of:

aa
aaa

Array(2) creates an array with two empty or undefined elements in an array [undefined, undefined], so shouldn’t it output aa?