2017-04-10 3 views
2

여기 내 서비스에 새로운 content 개체를 인스턴스화하는 코드 조각입니다 :각 속성과 값을 지정하여 TypeScript에서 개체를 인스턴스화하는 방법은 무엇입니까?

const newContent = new Content(
    result.obj.name 
    result.obj.user.firstName, 
    result.obj._id, 
    result.obj.user._id, 
); 

문제는 객체 인스턴스화의 방법은 내 content 모델의 속성의 순서에 의존한다는 것이다. 나는 그것을 설정할 값에 모든 속성을 매핑하여 그것을 할 수있는 방법이 있다면 예를 들어, 궁금 해서요 :

const newContent = new Content(
    name: result.obj.name, 
    user: result.obj.user. 
    content_id: result.obj._id, 
    user_id: result.obj.user._id, 
); 

답변

8
const newContent = <Content>({ 
    name: result.obj.name, 
    user: result.obj.user. 
    content_id: result.obj._id, 
    user_id: result.obj.user._id, 
}); 

g를 Content 유형으로 변경하십시오. 형식 어설 션에 대한 자세한 내용은 https://www.typescriptlang.org/docs/handbook/basic-types.html#type-assertions

+0

무엇이 변경되었는지는 분명하지만 이유는 유용 할 것입니다. 모든 순간을 가르칩니다. –

3

당신은 그 모든 변수를 래핑 생성자에 개체를 전달할 수 있습니다

type ContentData = { 
    name: string; 
    user: string; 
    content_id: string; 
    user_id: string; 
} 

class Content { 
    constructor(data: ContentData) { 
     ... 
    } 
} 

: 그리고 당신은 객체 사용 유형 주장 또는 CASTIN을 인스턴스화 할 수

const newContent = new Content({ 
    name: result.obj.name, 
    user: result.obj.user. 
    content_id: result.obj._id, 
    user_id: result.obj.user._id, 
}); 
다음
관련 문제