찾다

 >  Q&A  >  본문

TypeScript에서 조건에 따라 타입 함수를 정의하는 출력 방법

<p>내 함수의 출력 유형을 정의하려고 하는데 <code>string</code> 사이에 <code>toNumberIfNeeded</code> 플래그를 사용하고 싶습니다. /code> 유형 <code>toNumberIfNeeded</code>가 true인 경우 이 함수는 숫자 유형을 반환하고, 그렇지 않으면 문자열 유형을 반환한다고 가정하여 사이에 조건을 설정합니다. 어떻게 해야 하나요? </p> <pre class="brush:php;toolbar:false;">인터페이스 옵션 { 대문자?: 부울; filterSpecialChars?: 부울; toNumberIfNeeded?: 부울; } const textTransformer = (텍스트: 문자열, 옵션?: 옵션) => const { 대문자, filterSpecialChars, toNumberIfNeeded} = 옵션 {}; //내 처리 논리 코드 return toNumberIfNeeded ?parseInt(text) : 텍스트; }</pre> <p>예상되는 예:</p> <pre class="brush:php;toolbar:false;">textTransformer('hello') // 문자열 유형을 반환합니다. textTransformer('123', { toNumberIfNeeded: true }) // 숫자 유형을 반환합니다</pre>
P粉764836448P粉764836448498일 전560

모든 응답(1)나는 대답할 것이다

  • P粉878542459

    P粉8785424592023-08-15 13:04:14

    리팩터링할 수 있습니다textTransformer() 方法,接受一个泛型参数,并使用条件类型来检查 toNumberIfNeeded 是否为 truefalse。我认为 TypeScript 无法自动缩小返回值的类型。你必须使用类型断言,否则返回类型将被推断为 string | number.

    으아악

    회신하다
    0
  • 취소회신하다