TypeScript는 강력한 유형 시스템을 제공하지만 특정 유형(즉, 임의, 알 수 없음, 전혀 없음)은 혼란스러울 수 있습니다. 더 나은 이해를 위해 분류해 보겠습니다.
any 유형은 세 가지 유형 중 가장 단순합니다. 기본적으로 유형 검사를 비활성화하여 변수가 모든 유형의 값을 보유할 수 있도록 합니다. 예:
let value: any; value = 42; // number value = "Hello"; // string value = [1, 2, 3]; // array value = () => {}; // function value = { key: "val" }; // object value = new Date(); // date
이 모든 경우에 TypeScript는 오류를 발생시키지 않으므로 유형 제약 없이 변수에 대한 작업을 수행할 수 있습니다. 이는 JavaScript 프로젝트를 TypeScript로 마이그레이션할 때 유용할 수 있습니다. 그러나 any에 의존하면 형식 안전성의 이점이 무효화되므로 대부분의 경우 잘못된 선택이 됩니다. 대신에 알 수 없음을 사용해 보세요.
알 수 없는 유형은 작업을 수행하기 전에 유형 확인이 필요하므로 그 어떤 것보다 안전합니다. 가능한 모든 값의 집합을 나타내지만 유형 안전성이 적용됩니다.
let value: unknown; value = 42; value = "Hello"; // To perform operations, we need to narrow down the type if (typeof value === "number") { console.log(value + 1); // TypeScript knows value is a number here }
Unknown을 사용하면 작업을 진행하기 전에 유형 검사를 시행하므로 로깅 기능과 같이 모든 유형의 입력을 허용하는 기능에 유용합니다.
never 유형은 빈 값 집합을 나타내며, 어떤 일이 발생해서는 안 된다는 것을 나타냅니다. Never 유형에는 값을 할당할 수 없으므로 철저한 검사와 도달할 수 없는 코드를 나타내는 데 유용합니다.
type User = { type: "admin" } | { type: "standard" }; function handleUser(user: User) { switch (user.type) { case "admin": // handle admin break; case "standard": // handle standard break; default: const _exhaustiveCheck: never = user; // This ensures all cases are handled } }
새 사용자 유형이 추가되면 TypeScript는 오류를 발생시켜 모든 사례가 처리되었는지 확인하므로 코드에서 철저한 검사를 유지하는 데 결코 중요하지 않습니다.
알 수 없는 모든 것을 이해하면 TypeScript의 유형 안전성이 향상되지 않습니다. 보다 안전한 유형 검사를 위해서는 알 수 없음을 선호하고, 철저한 검사와 접근할 수 없는 코드에는 절대 활용하지 마십시오. 이러한 유형을 올바르게 사용하면 TypeScript를 안정적인 애플리케이션을 구축하기 위한 강력한 도구로 만들 수 있습니다.
즐거운 코딩하세요!
위 내용은 TypeScript의 any, unknown 및 never 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!