반응형
자바 스크립트 ES6 클래스 인스턴스를 복제하는 방법
ES6을 사용하여 Javascript 클래스 인스턴스를 복제하는 방법은 무엇입니까?
jquery 또는 $ extend를 기반으로하는 솔루션에 관심이 없습니다.
나는 문제가 매우 복잡하다는 것을 암시하는 객체 복제에 대한 아주 오래된 논의를 보았지만 ES6에서는 매우 간단한 해결책이 제시됩니다. 아래에 그것을 넣어 사람들이 만족한다고 생각하는지 살펴볼 것입니다.
편집 : 내 질문이 중복 된 것으로 제안되고 있습니다. 나는 그 대답을 보았지만 7 살이고 pre-ES6 js를 사용하는 매우 복잡한 대답을 포함합니다. ES6를 허용하는 내 질문에 훨씬 더 간단한 솔루션이 있다고 제안합니다.
let clone = Object.assign( Object.create( Object.getPrototypeOf(orig)), orig)
나는 많은 것을 시도했고 결국 이것은 나를 위해 일했습니다.
또한 프로토 타입을 설정하는 것을 피합니다. 왜냐하면 그들은 코드를 많이 느리게 한다고 말하기 때문 입니다.
그리고 그것은 한 줄짜리입니다!
const clone = Object.assign( {}, instanceOfBlah );
Object.setPrototypeOf( clone, Blah.prototype );
Object.assign 의 특성에 유의하십시오 . 얕은 복사를 수행하고 클래스 메소드를 복사하지 않습니다.
깊은 복사 또는 복사에 대한 더 많은 제어를 원하면 lodash 복제 기능이 있습니다.
참고 URL : https://stackoverflow.com/questions/41474986/how-to-clone-a-javascript-es6-class-instance
반응형
'code' 카테고리의 다른 글
Ubuntu 16.04 LTS 64 비트에서 Postman 기본 v4.10.3을 설치 / 시작하는 방법은 무엇입니까? (0) | 2020.11.22 |
---|---|
Angular CLI 프로젝트를 업그레이드하는 방법은 무엇입니까? (0) | 2020.11.21 |
Mono의 명령 줄에서 MSBuild 파일 (Visual Studio sln)을 빌드 할 수 있습니까? (0) | 2020.11.21 |
드롭 다운 화살표의 색상 및 모양 변경 (0) | 2020.11.21 |
@package 지시문은 Objective-C에서 무엇을합니까? (0) | 2020.11.21 |