JavaScript ES6에서 기존 객체를 분해할 수 있나요?
구조 분해는 ES6에 도입된 편리한 기능으로 데이터를 편리하게 추출할 수 있습니다. 객체와 배열에서. 그러나 일반적인 질문이 생깁니다. 기존 객체로 구조 분해가 가능한가요?
다음 시나리오를 고려해보세요. foo와 oof라는 두 개의 객체가 있습니다. x 및 y 값을 foo에서 oof로 전송하려고 합니다. 구조 분해가 이 작업에 이상적인 도구인 것처럼 보이지만 ES6 구조 분해 구문을 사용하여 이를 직접 달성할 수 있는 방법이 있는지 궁금할 수 있습니다.
직접 전송 시도:
직관적으로 oof{x,y} = foo와 같은 구문을 사용한다고 생각할 수도 있지만 안타깝게도 이는 작동하지 않습니다. 대신 JavaScript는 대입 연산자의 왼쪽에 새 변수가 선언될 것으로 예상합니다.
피하는 해결책:
이 제한을 우회하려면 다음을 수행할 수 있습니다. 약간 독특하지만 효과적인 솔루션을 사용합니다.
({x: oof.x, y: oof.y} = foo);
이 줄은 foo에서 x 및 y 값을 읽고 이를 oof의 해당 위치에 할당합니다. 이 접근 방식은 가장 우아하지는 않지만 원하는 목표를 달성합니다.
대체 옵션:
보다 전통적인 접근 방식의 경우 다음 대안을 고려하세요.
oof.x = foo.x; oof.y = foo.y;
['x', 'y'].forEach(prop => oof[prop] = foo[prop]);
이러한 방법은 아마도 더 간단하고 가독성을 유지합니다.
요약:
ES6 구조 분해 구문에서는 기존 객체에 대한 분해가 직접 지원되지 않습니다. 그러나 주어진 기술을 사용하여 원하는 결과를 얻을 수도 있고 명확성이 우선인 경우 전통적인 할당 접근 방식을 선택할 수도 있습니다. ({x: oof.x, y: oof.y} = foo);, oof.x = foo.x; oof.y = foo.y; 또는 다른 방법을 선택하는 것은 선호도와 상황에 따라 다릅니다.
위 내용은 JavaScript ES6에서 기존 객체를 분해할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!