Risposte:
Serve a contrassegnare il parametro come facoltativo .
Questo per rendere la variabile di tipo Opzionale. Altrimenti le variabili dichiarate mostrano " non definito " se questa variabile non viene utilizzata.
export interface ISearchResult {
title: string;
listTitle:string;
entityName?: string,
lookupName?:string,
lookupId?:string
}
titlenell'esempio sopra riportato abbia un valore di nullma non sarebbe valido per una classe che afferma di implementare ISearchResultmancando una entityNameproprietà al momento della compilazione.
string?. Per avere un nullable opzionale, lo faresti name?: string?.
?specifica del tipo after anziché dopo il nome della variabile. Se non passi nulla a lookupId, allora non avrà tipo string.
parameter?: type è una scorciatoia per parameter: type | undefined