TypeScript에서 never 키워드 사용

Muhammad Ibrahim Alvi 2024년2월15일
TypeScript에서 never 키워드 사용

이 튜토리얼은 개발자들 사이에서 널리 사용되는 사용 사례와 함께 TypeScript never 키워드에서 새 데이터 유형을 사용하는 방법에 대한 간략한 지침을 제공합니다.

TypeScript에서 never 키워드 사용

never 키워드는 절대 발생하지 않을 값을 지정하는 TypeScript의 새로운 유형입니다. never 유형은 프로그래머가 어떤 일이 발생하지 않을 것이라고 확신할 때 사용됩니다.

이제 항상 예외를 발생시키거나 끝점으로 돌아가지 않는 함수를 작성한다고 가정해 보겠습니다.

코드 예:

function throwNewError(errorMsg: string): never {
            throw new Error(errorMsg);
}

function keepInfiniteProcessing(): never {
            while (true) {
         console.log('I always does something and never ends :).')
     }
}
console.log(throwNewError("Error occured"));

위의 코딩 예제에서 throwNewError() 함수는 호출될 때 항상 오류를 발생시키는 반면 keepInfiniteProcessing() 함수는 항상 실행을 계속하고 엔드포인트에 도달하지 않습니다. while 루프에는 루프를 종료하지 않고 종료하지 않는 참 조건이 있습니다. 따라서 TypeScript의 never 유형은 함수에서 절대 발생하거나 반환되지 않는 값을 지정하는 데 사용됩니다.

출력:

while 루프에는 호출 시 항상 오류를 발생시키는 참 조건이 있습니다.

또한 변수는 true가 될 수 없는 any 유형의 가드에 의해 범위가 좁아지면 never 유형을 획득합니다. 변수 유형은 in, typeof, instanceof와 같은 연산자를 사용하여 좁힐 수 있습니다.

우리는 이러한 변수가 일부 위치에서 발생하지 않을 것이라고 확신하는 변수의 유형을 좁힐 수 있습니다.

코드 예:

function formatFunction(valueData: string | number) {
    if (typeof valueData === 'string') {
        return valueData.trim();
    } else {
        return valueData.toFixed(2); // we're sure it's number
    }
    // not a string or number
    // "value" can't occur here, so it's type "never"
}

let response = formatFunction("Hello");
    console.log(response);

출력:

일부 위치에서 이러한 일이 발생하지 않는 변수의 유형을 좁히십시오

Muhammad Ibrahim Alvi avatar Muhammad Ibrahim Alvi avatar

Ibrahim is a Full Stack developer working as a Software Engineer in a reputable international organization. He has work experience in technologies stack like MERN and Spring Boot. He is an enthusiastic JavaScript lover who loves to provide and share research-based solutions to problems. He loves problem-solving and loves to write solutions of those problems with implemented solutions.

LinkedIn

관련 문장 - TypeScript Keyword