ES6의 객체 초기화에서 동적 속성 이름 사용
외부 소스에서 파생된 속성 이름으로 객체를 생성하는 문제는 프로그래밍에서 종종 발생합니다. 쿼리에 설명된 시나리오에서는 키가 별도의 변수인 KEYS에 정의된 속성을 사용하여 JavaScript 개체를 생성하려고 합니다.
그러나 개체 내의 속성에 값을 할당할 때 오류가 발생합니다. 점 연산자(.)를 사용하기 때문입니다. 이 연산자는 리터럴 객체 속성 이름용으로 예약되어 있으며 동적 속성 이름과 함께 사용할 수 없습니다.
이 문제를 해결하기 위해 우리는 더 많은 기능을 도입하는 최근 JavaScript 표준에 추가된 ES6(EcmaScript 2016)의 기능을 활용합니다. 표현적인 구문과 기능. 이러한 기능 중 하나는 계산된 속성 구문으로, 이를 통해 속성 이름을 동적으로 정의할 수 있습니다.
계산된 속성 구문을 사용하면 다음과 같이 코드를 다시 작성할 수 있으며, 그러면 원하는 동적 속성이 있는 객체가 성공적으로 생성됩니다. 이름:
iconMap: { [KEYS.PHONE_TYPE]: 'icon-phone', [KEYS.AGENT_TYPE]: 'icon-headphones', },
이 코드에서 속성 이름 주위의 대괄호([])는 계산된 속성 구문을 사용하고 있음을 나타냅니다. 대괄호 안의 표현식은 KEYS 변수에서 검색된 동적 속성 이름으로 평가됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3