JavaScript에서 일반 객체를 클래스 인스턴스로 캐스팅
JavaScript에서 JSON 응답으로 서버로부터 일반 객체를 수신할 때 다음과 같은 문제가 발생할 수 있습니다. 형식화된 클래스 인스턴스로 캐스팅해야 합니다. 이를 통해 클래스별 메서드 및 속성에 액세스할 수 있습니다.
해결책:
한 가지 접근 방식은 인스턴스와 유사한 모든 개체를 허용하고 이를 복제하는 생성자를 만드는 것입니다. 또는 객체를 인스턴스로 변환하는 정적 메서드를 구현할 수 있습니다.
<code class="javascript">Person.fromJSON = function(obj) { // Custom code to create an instance from the object return ...; };</code>
공용 속성이 있는 일반 객체가 있는 특정 시나리오의 경우 다음 메서드를 사용할 수 있습니다.
<code class="javascript">var personInstance = new Person(); for (var prop in personLiteral) { personInstance[prop] = personLiteral[prop]; }</code>
이렇게 하면 일반 객체의 모든 속성이 새로 생성된 인스턴스에 할당됩니다. 마찬가지로 Animal 인스턴스를 생성할 수도 있습니다.
참고:
샘플 코드:
<code class="javascript">var persons = JSON.parse(serverResponse); for (var i = 0; i < persons.length; i++) { persons[i] = Object.assign(new Person(), persons[i]); // Use Object.assign for browsers that support it for (var j = 0; j < persons[i].animals; j++) { persons[i].animals[j] = Object.assign(new Animal(), persons[i].animals[j]); } }</code>
이 코드를 사용하면 person[0].Animals[2].Run();과 같은 클래스별 메서드를 사용할 수 있습니다.
위 내용은 JavaScript에서 일반 JSON 개체를 클래스 인스턴스로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!