유형 선언과 유형 어설션
4386 단어 nodeprogrammingwebdevtypescript
TypeScript에서 변수에 유형을 제공하는 두 가지 방법이 있습니다.
이 두 가지 방법의 차이점과 어떤 방법을 언제 사용해야 하는지 알아보겠습니다. 아래 코드에서 다음 변수에 유형을 제공하는 데 사용되는
Hero
라는 인터페이스를 정의하고 있습니다. Type Declaration
를 사용하여 변수 drow
에 유형을 할당하고 Type Assertion
를 사용하여 변수 centaur
에 유형을 할당합니다.interface Hero {
name: string,
type: string
};
// Type Declaration
const drow: Hero = { name: 'Drow Ranger', type: 'agility' };
// Type Assertion
const centaur = {
name: 'centaur warrunner',
type: 'strength'
} as Hero;
위의 예에서와 같이 완벽한 세계에서는 두 객체 모두 예상 필드를 가지며 두 유형 할당 유형 간에 차이가 없습니다. 다음 시나리오에서 이것이 어떻게 작동하는지 봅시다.
유형 선언
유형 선언은 값이 인터페이스를 준수하는지 확인합니다. 다음 예제는 이를 준수하지 않으므로 Typescript에서 오류가 발생합니다.
// Error: Properties missing in the type
const drow: Hero = {};
// Error: 'isAvailable' does not exist on type Hero
const drow: Hero = {
name: 'centaur warrunner',
type: 'strength',
isAvailable: true,
};
타입 어설션
Type Assertion은 타입 검사기에게 당신이 그것보다 타입을 더 잘 이해하고 오류를 던지지 말라고 알려줍니다.
// No Error
const drow = {} as Hero;
// No Error
const drow = {
name: 'centaur warrunner',
type: 'strength',
isAvailable: true,
} as Hero;
따라서 결론적으로 추가 안전 검사를 제공하기 때문에 유형 선언보다 유형 선언을 사용해야 합니다. Type Assertion을 사용할 특정 사용 사례가 없는 한.
모두 여러분, 행복한 해킹 🙌
Reference
이 문제에 관하여(유형 선언과 유형 어설션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dante_inferno/type-declaration-vs-type-assertion-7de텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)