이 유형 가드가이 삼항 표현식에서 작동하지 않는 이유는 무엇입니까?

Lars Nyström

이 코드가 있습니다.

function isArray(v: any): v is any[] {
    return Array.isArray(v);
}

type Settings = {
    [key: string]: string | string[]
}

function myfunc(settings: Settings) {
    Object.keys(settings).forEach(key => (
        (isArray(settings[key]))
            ? settings[key].forEach(val => console.log(val))
            : console.log(settings[key])
    ));
}

놀이터 링크

에서 settings[key].forEach(나는 메시지를보고 있어요 :

'forEach'속성이 'string | 끈[]'.
'forEach'속성이 'string'유형에 없습니다.

그렇다면 isArray유형 가드가 작동 하지 않는 이유는 무엇입니까?

게오르그

타입 가드는 여기처럼 getter 표현식에서 작동하지 않습니다.

    (isArray(settings[key]))  // (1)
        ? settings[key].forEach(val => console.log(val)) // (2)

컴파일러는 settings[key](1)과 (2)가 같은 것인지 확신 할 수 없기 때문 입니다. 먼저 임시 변수에 할당해야합니다.

    let temp = settings[key];
    (isArray(temp))
        ? temp.forEach(val => console.log(val))
        : console.log(temp)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

삼항 표현식 내의 정수 및 문자에서 char 오버로딩이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

if 문이 제대로 작동하는 동안 삼항 표현식이 값을 업데이트하지 않는 이유는 무엇입니까?

분류에서Dev

이 "and-or"삼항 표현식 구문이 작동하는 이유는 무엇입니까?

분류에서Dev

할당에서 왼쪽으로 표현이 항상 작동하지 않는 이유는 무엇입니까?

분류에서Dev

Ruby 표현식에서 RegExp.escape가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

삼항을 사용하지 않는 이유는 무엇입니까? : CoffeeScript에서 오류가 발생합니까?

분류에서Dev

Dhall이 if 표현식에서 유형 반환을 허용하지 않는 이유는 무엇입니까?

분류에서Dev

이 날짜 형식이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 자바 스크립트 정규 표현식이 배열 항목에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 자바 스크립트 정규 표현식이 배열 항목에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

Distinct () 메서드가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

JQuery click () 메서드가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

fadeOut () 메서드가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

applicationWillResignActive 메서드가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

또는 앞에 Java 삼항이 "평가"되는 이유는 무엇입니까?

분류에서Dev

Orion Context Broker가 패턴 표현식이있는 쿼리에서 예상하는 모든 항목을 반환하지 않는 이유는 무엇입니까?

분류에서Dev

증가 연산자가 항상 문자에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

삼항 연산자가 유형 불일치 오류로 실패하는 이유는 무엇입니까?

분류에서Dev

preventDefault 함수가 항상 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 PHP`if`가 항상 작동하지 않는 이유는 무엇입니까?

분류에서Dev

ssh가 항상 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 공식 코드가 미래 (날짜 차이)에 작동하지 않는 이유는 무엇입니까?

분류에서Dev

@Autowired가 일반 유형 T에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 JSON 파서가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 REST 서비스가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

CSS 삼각형 변경의 jQuery animate () 색상-이것이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

에뮬레이터가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

형식 입력이 끝날 때 scanf가 공백으로 작동하지 않는 이유는 무엇입니까?

분류에서Dev

현재 메뉴 항목 강조가 작동하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    삼항 표현식 내의 정수 및 문자에서 char 오버로딩이 작동하지 않는 이유는 무엇입니까?

  2. 2

    if 문이 제대로 작동하는 동안 삼항 표현식이 값을 업데이트하지 않는 이유는 무엇입니까?

  3. 3

    이 "and-or"삼항 표현식 구문이 작동하는 이유는 무엇입니까?

  4. 4

    할당에서 왼쪽으로 표현이 항상 작동하지 않는 이유는 무엇입니까?

  5. 5

    Ruby 표현식에서 RegExp.escape가 작동하지 않는 이유는 무엇입니까?

  6. 6

    삼항을 사용하지 않는 이유는 무엇입니까? : CoffeeScript에서 오류가 발생합니까?

  7. 7

    Dhall이 if 표현식에서 유형 반환을 허용하지 않는 이유는 무엇입니까?

  8. 8

    이 날짜 형식이 작동하지 않는 이유는 무엇입니까?

  9. 9

    내 자바 스크립트 정규 표현식이 배열 항목에서 작동하지 않는 이유는 무엇입니까?

  10. 10

    내 자바 스크립트 정규 표현식이 배열 항목에서 작동하지 않는 이유는 무엇입니까?

  11. 11

    Distinct () 메서드가 작동하지 않는 이유는 무엇입니까?

  12. 12

    JQuery click () 메서드가 작동하지 않는 이유는 무엇입니까?

  13. 13

    fadeOut () 메서드가 작동하지 않는 이유는 무엇입니까?

  14. 14

    applicationWillResignActive 메서드가 작동하지 않는 이유는 무엇입니까?

  15. 15

    또는 앞에 Java 삼항이 "평가"되는 이유는 무엇입니까?

  16. 16

    Orion Context Broker가 패턴 표현식이있는 쿼리에서 예상하는 모든 항목을 반환하지 않는 이유는 무엇입니까?

  17. 17

    증가 연산자가 항상 문자에서 작동하지 않는 이유는 무엇입니까?

  18. 18

    삼항 연산자가 유형 불일치 오류로 실패하는 이유는 무엇입니까?

  19. 19

    preventDefault 함수가 항상 작동하지 않는 이유는 무엇입니까?

  20. 20

    내 PHP`if`가 항상 작동하지 않는 이유는 무엇입니까?

  21. 21

    ssh가 항상 작동하지 않는 이유는 무엇입니까?

  22. 22

    이 공식 코드가 미래 (날짜 차이)에 작동하지 않는 이유는 무엇입니까?

  23. 23

    @Autowired가 일반 유형 T에서 작동하지 않는 이유는 무엇입니까?

  24. 24

    이 JSON 파서가 작동하지 않는 이유는 무엇입니까?

  25. 25

    이 REST 서비스가 작동하지 않는 이유는 무엇입니까?

  26. 26

    CSS 삼각형 변경의 jQuery animate () 색상-이것이 작동하지 않는 이유는 무엇입니까?

  27. 27

    에뮬레이터가 작동하지 않는 이유는 무엇입니까?

  28. 28

    형식 입력이 끝날 때 scanf가 공백으로 작동하지 않는 이유는 무엇입니까?

  29. 29

    현재 메뉴 항목 강조가 작동하지 않는 이유는 무엇입니까?

뜨겁다태그

보관