Pesquisa de site

typescript1.4 - Qual é o significado de AB em AB|C na especificação do TypeScript?


Estou verificando a especificação do TypeScript e em algum momento, na seção 3.4 Tipos Union, ele utiliza AB da seguinte forma:

  • A | B é equivalente a A se B for um subtipo de A.
  • A | B é equivalente a B | A.
  • AB | C é equivalente a A | BC, onde AB é A | B e BC é B | C.

Pergunta: Qual é o significado de AB ou AB|C?

Resposta #1

Esta seção na especificação foi escrita antes de parênteses serem permitidos em tipos de união, daí a formulação estranha.

Uma formulação mais clara que diz o que esta seção está tentando dizer é:

(A | B) | C é equivalente a A | (B | C)

Resposta #2

Está respondido na sua pergunta:

AB=A|B

AB|C - é equivalente a A se C for um subtipo de A e B for um subtipo de A