자바스크립트 클래스에서 인스턴스를 복제하는 방법은 무엇인가요?
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

let person1 = new Person("John", 30);
let person2 = Object.assign({}, person1);

console.log(person2);
// Output: { name: 'John', age: 30 }

위의 코드에서 Object.assign() 메서드를 사용하여 person1 객체를 빈 객체에 복제한 person2 객체를 만들었습니다. person2 객체는 person1 객체와 동일한 속성을 가지고 있습니다.

또 다른 방법으로는 spread 연산자를 사용하는 것입니다. spread 연산자는 객체 또는 배열을 복사하거나 병합하는 데 사용됩니다. 다음은 spread 연산자를 사용하여 인스턴스를 복제하는 예시 코드입니다.

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

let person1 = new Person("John", 30);
let person2 = { ...person1 };

console.log(person2);
// Output: { name: 'John', age: 30 }

위의 코드에서 ...person1person1 객체를 복사하여 person2 객체에 할당하는 역할을 합니다. 결과적으로 person2 객체는 person1 객체와 동일한 속성을 가지게 됩니다.

자바스크립트에서 클래스의 인스턴스를 복제하는 여러 가지 방법이 있지만, Object.assign() 메서드나 spread 연산자를 사용하는 것이 일반적입니다. 다른 방법들도 있을 수 있으니 필요에 따라 선택하여 사용하시기 바랍니다.