ES6의 객체에서 속성을 가져오는 단일 라이너
많은 개발자가 ES6의 객체에서 특정 속성을 추출하는 간결한 방법을 모색해 왔습니다. 일반적인 솔루션 중 하나는 구조 분해 및 단순화된 객체 리터럴을 사용하지만 코드에서 필드 목록을 반복하는 것은 번거로울 수 있습니다.
향상된 솔루션
보다 간소화된 접근 방식에는 "매개 변수"가 포함됩니다. Destructuring"을 사용하면 명시적인 구문이 필요하지 않습니다. 매개변수:
({id, title}) => ({id, title})
일반화된 솔루션
더 큰 유연성을 위해 객체와 임의 개수의 속성을 인수로 허용하는 "pick" 기능을 고려하세요.
function pick(o, ...props) { return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))) }
재산 보존 속성
열거 불가능한 속성을 제외하면서 구성 가능성 및 getter/setter와 같은 속성 속성을 유지하려면:
function pick(o, ...props) { var has = p => o.propertyIsEnumerable(p), get = p => Object.getOwnPropertyDescriptor(o, p); return Object.defineProperties({}, Object.assign({}, ...props .filter(prop => has(prop)) .map(prop => ({prop: get(props)}))) ); }
이러한 솔루션은 객체에서 특정 속성을 추출하는 간결하고 다양한 수단을 제공합니다. ES6에서는 다양한 사용 사례를 충족합니다.
위 내용은 ES6의 객체에서 특정 속성을 효율적으로 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!