Можно создать конструктор в JS, в который можно предавать произвольное количество параметров?
Пробую сделать в таком духе:
class Car {
constructor() {
for (let i = 0; i < arguments.length; i++) {
let property = `property ${i}`;
this.property = arguments[i];
}
}
}
Хочу чтобы при создании обьектов я мог передавать произвольное количество параметров конструктору.
свойства обьекта выглядили таким образом:
{property1 : мой параметр 1,
property2 : мой параметр 2,
property3 : мой параметр 3,
property4 : мой параметр 4}
…
Ответы (2 шт):
Автор решения: Alexander Lonberg
→ Ссылка
class Car {
constructor(...wheels) {
let count = 0
for (let wheel of wheels) {
this[`wheel${++count}`] = wheel
}
}
calculate() {
console.log(
Array.prototype.reduce.call(Object.entries(this), (a, [p,v]) => {
if (/^wheel/.test(p)) {
a += `Колесо: ${v}\n`
}
return a
}, '')
)
}
}
let arrWheels = [
1, 2, 3, 4, 'запаска'
]
let car = new Car(...arrWheels)
car.calculate()