404 page not found : 기록장

[Typescript] Any와 Unknown 본문

TYPESCRIPT

[Typescript] Any와 Unknown

Hannah_J 2023. 3. 3. 19:47

타입스크립트에서 any와 unknown은 둘 다 타입을 선언할 때 사용되는 키워드입니다. 그러나 두 키워드는 서로 다른 방식으로 작동합니다.

Any

any는 모든 유형의 값을 나타내는 데 사용됩니다. 이는 변수의 유형이 무엇이든 간에 변수가 어떤 유형의 값을 가질 수 있다는 것을 의미합니다. 따라서 any는 타입 검사를 통과하기 쉽지만, 컴파일러가 타입 검사를 수행하지 않으므로 코드에서 오류를 발생시킬 수 있습니다.

let example: any = "hello";
example = 42;
example = true;

위 예제에서 example 변수는 문자열, 숫자 또는 boolean 값을 가질 수 있습니다.

Unknown

unknown은 any와 비슷하지만, 사용하기 전에 유형을 검사해야 합니다. 이는 컴파일러가 코드를 검사하고 타입 오류를 방지할 수 있도록 도와줍니다. unknown은 일반적으로 런타임에서 유형 검사를 수행하는 라이브러리와 상호 작용할 때 사용됩니다.

let example: unknown = "hello";
if (typeof example === "string") {
  console.log(example.toUpperCase());
}

위 예제에서 example 변수가 문자열인 경우에만 toUpperCase 메소드를 사용할 수 있습니다.

결론적으로, any와 unknown은 둘 다 유형 검사를 우회하고 유연성을 제공하지만, unknown은 유형 검사를 수행하도록 강제하므로 더 안전한 선택입니다. 따라서 가능하면 unknown을 사용하고, any는 최후의 수단으로 사용하는 것이 좋습니다.

'TYPESCRIPT' 카테고리의 다른 글

[Typescript] Union Type, Intersection Type  (0) 2023.03.09
[Typescript] Typescript 함수  (0) 2023.03.08
[Typescript] Generic  (0) 2023.03.03
[Typescript] Union Type, Intersection Type  (0) 2023.03.03
[Typescript] type vs interface 차이  (0) 2023.03.03