TypeScript 필수 유형의 작동 방식
Required
라는 유틸리티 유형이 있습니다. 어떻게 작동하는지 살펴보겠습니다.TypeScript 필수 유틸리티 유형
기본적으로 TypeScript에서 새 유형을 정의하면 해당 유형 내의 모든 필드가 자동으로 필수입니다.
type User = {
firstName: string,
lastName: string
}
let firstUser:User = {
firstName: "John"
}
위에서
firstUser
는 User
유형이지만 lastName
누락되었습니다. 따라서 이 코드는 오류를 반환합니다.Property 'lastName' is missing in type '{ firstName: string; }' but required in type 'User'.
필드가 선택적일 것으로 예상되는 경우 유형 정의에서 필드 끝에 물음표를 추가할 수 있습니다. 아래에서는 대신
lastName?
를 작성하여 lastName을 선택 사항으로 만듭니다.type User = {
firstName: string,
lastName?: string
}
let firstUser:User = {
firstName: "John"
}
따라서 이 코드는 오류를 발생시키지 않습니다. lastName은 선택 사항이므로 firstUser에 포함하지 않는 것이 좋습니다.
TypeScript에서 선택적 유형을 필수로 지정
경우에 따라 대부분의 경우 lastName이 선택 사항이지만 일부 상황에서는 무언가를 수행해야 하는 경우가 있습니다. 이러한 경우 필수 유틸리티 유형을 사용할 수 있습니다. 예를 들어 lastName이 필수 항목이 되도록 하려면 원래 선택 사항으로 정의되었더라도 다음과 같이 작성할 수 있습니다.
type User = {
firstName: string,
lastName?: string
}
let firstUser:User = {
firstName: "John",
}
let secondUser:Required<User> = {
firstName: "John"
}
이 예에서 secondUser는 오류를 발생시킵니다.
Property 'lastName' is missing in type '{ firstName: string; }' but required in type 'Required<User>'
따라서
Required
를 사용했기 때문에 오류를 피하기 위해 lastName
를 추가해야 합니다.type User = {
firstName: string,
lastName?: string
}
let secondUser:Required<User> = {
firstName: "John",
lastName: "Doe"
}
이를 통해 더 많은 유연성을 제공하는 동시에 애플리케이션의 특정 기능에 대한 필드 요구 사항을 적용할 수 있습니다. 다른 유틸리티 유형과 마찬가지로 Required는 위에서 정의한
User
유형과 같은 인터페이스 또는 객체 유형과 함께 작동하기 위한 것입니다. 따라서 변수와 함께 작동하지 않습니다. 하지만 변수는 어쨌든 빈 값을 가질 수 없기 때문에 별로 중요하지 않습니다.
Reference
이 문제에 관하여(TypeScript 필수 유형의 작동 방식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smpnjn/how-the-typescript-required-type-works-2nlc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)