У меня есть функция, которая предназначена для получения двух параметров (оба экземпляра объекта одного и того же класса):
class Person {
constructor(name) {
this.name = name;
}
}
const x = new Person('Peter');
const y = new Person('Paul');
const z = new Person('Paul');
const sameName = (a, b) => a.name === b.name;
console.log(sameName(x,y));
console.log(sameName(y,z));
console.log(sameName(x,z));
Мне известен рабочий способ деструктуризации имени каждого человека прямо в сигнатуре функции sameName({name: a},{name: b})
.Это как-то неуклюже.
class Person {
constructor(name) {
this.name = name;
}
}
const x = new Person('Peter');
const y = new Person('Paul');
const z = new Person('Paul');
const sameName = ({name: a},{name: b}) => a === b;
console.log(sameName(x,y));
console.log(sameName(y,z));
console.log(sameName(x,z));
Q1: мне интересно, есть ли здесь более элегантный способ использовать уничтожение объектов?
Q2: Как бы я поступил?функция, которая принимает любое количество Person
объектов (и работает только со свойством name
каждого)?