Är det (`?:`) typescript ternära operatorn


Jag såg koden nedan i ett TypeScript-exempel:

export interface EjectTaskOptions extends BuildOptions {
  force?: boolean;
  app?: string;
}

Vad betyder ?:? Är det en ternär operator (med endast falskt villkor) eller något annat?

Svar #1

Operatorn ? anger att egenskapen kan vara nullable/valfri. Det betyder bara att kompilatorn inte kommer att kasta ett fel om du inte implementerar denna egenskap i din implementation.

Svar #2

Du kan använda ??-operatorn!

const test: string = null;

console.log(test ?? 'none');

Detta kommer att skriva ut 'none' eftersom test är null. Om det finns ett värde för test kommer det att skriva ut det. Du kan prova det här playground TypeScript.

Relaterade artiklar