tôi đã nhận thấy rằng nếu tôi làm:Sự khác biệt giữa mảng (n) và mảng (n) .fill?
Array(n).map(() => console.log('test'))
Tuy nhiên nếu tôi làm:
Array(n).fill().map(() => console.log('test'))
tôi nhận được test
in ra n
lần.
Tại sao lại xảy ra trường hợp này? Nếu tôi làm Array(n).length
tôi quay lại n
.
Tôi nhận thấy trong REPL rằng Array(5)
lợi nhuận:
[ , , , , ]
Trong khi Array(5).fill()
lợi nhuận:
[ undefined, undefined, undefined, undefined, undefined ]
Trong cả hai trường hợp, typeof
bất kỳ yếu tố trong mảng === undefined
.
Vì vậy, những gì đang xảy ra?