Я читал чужой код, когда наткнулся на этот фрагмент.
let array = Array(100)
.fill()
.map(_ => {
return Math.floor(Math.random() * 100 + 1))
});
При реализации этого самостоятельно мой компилятор машинописного текста выдавал ошибку «ошибка TS2554: ожидалось 1-3 аргумента, но получено 0.», что имеет смысл. Для функции Array .fill () требуется хотя бы один параметр. При входе массива в консоль браузера я вижу, что 100 случайных чисел были сгенерированы и преобразованы в массив. Вот тут и начинается мое замешательство.
У меня есть некоторые мысли ... Я нацеливаюсь на es5 в моем tsconfig. Что имеет смысл для меня, так это то, что реализация .fill () изменилась в ES6, и браузер может понять код, потому что он не нарушает стандарты ES6, но компилятор машинописи проверяет соответствие ES5, где он нарушает стандарт.