typescript - Vad betyder frågetecknet i uttryck i Angular 2?


Vad betyder values?.listArray här? Specifikt är jag intresserad av frågetecknet.

[inputValue] = "values?.listArray"

Svar #1

Redigera

Sedan det ursprungliga svaret har både Ecmascript och Typescript (i 3.7) lagt till ?. (kallad valfri kedjeoperator) operatorn. Se PR för detaljer.

Originalt svar

Detta är inte en Typescript-operator. Angular 2 har en säker navigeringsoperator i mallar.

values?.listArray

är likvärdigt med

values != null ? values.listArray: null

Mer information här och här

Svar #2

? "Frågetecken" är inte en ternär operator i typescript, ? används för säker laddning av HTML-dokumentet medan en komponent genererar dokumentet för webbläsarvisning.

Om vi skriver list?.values betyder det att om list.values inte är null, så kommer det att visas, och om list.values är null, kommer det inte att visas. I vilket fall som helst kommer den motsvarande HTML-delen att laddas utan några fel.

Relaterade artiklar