TypeScript에서 any와 unknown의 차이점

사진 설명을 추가해주세요

1: 모든 유형

모든 유형은 모든 유형이 될 수 있으며 모든 유형은 개발자에게 많은 자유를 제공하는 검사가 필요 없는 레이블과 동일합니다.Typescript는 모든 유형의 값에 대한 모든 작업을 허용하며 계속해서 녹색 표시등이 있습니다.

let score: any = 666.66;
let num = Math.round(score); // ok

2: 알 수 없는 유형

어떤 타입도 알 수 없는 타입이 될 수 있지만, any와 완전히 반대입니다.알 수 없는 타입은 키 검사가 있는 타이프스크립트 태그와 같습니다. ubnknow 유형의 변수는 유형 확인 없이 조작할 수 없습니다.

let score: unknown = 666.66;
let num = Math.round(score);

여기에 이미지 설명 삽입

3: 그럼 알 수 없는 유형을 정상적으로 작동하게 하려면 어떻게 해야 합니까?

1. 매우 간단합니다. 먼저 유형 판단을 수행합니다.

let score: unknown = 666.66;
if(typeof score === "number") {
    
    
  let num = Math.round(score); // ok
}

2. 단언

let score: unknown = 666.66;
let num = Math.round(score as number);
# 或
let num = Math.Round(<number>score);

차이점:

  1. any는 타입 검사를 우회하여 바로 사용할 수 있으며, unkonwn은 타입을 판단한 후 사용해야 합니다.

Supongo que te gusta

Origin blog.csdn.net/qq_51441159/article/details/128101007
Recomendado
Clasificación