Hallo Community,
ich bin während eines Tutorials über folgende Klasse gestolpert
Diesen verstehe ich nicht genau
Zeile1 : Was bedeutet <T>hinter dem Klassennamen?
Zeile2: Was ist der Datentyp T?
Constructor Zeile 10 - 17
Ich lesen diesen wie folgt. Es gibt einen Parameter mit den namen options dieser enthält den Aufbau den danach definierten Objekttypen, alle Eigenschaften dieses Objekttypen sind optional. Was in Zeile 17 Passiert ist mir unklar.
im Körper des Konstruktors werden die Attribute zugewiesen, aber warum hat Zeile 21. ein doppeltes Ausrufezeichen? Zum negieren reicht doch ein Einfaches.
Viele Grüße
Peter P.
ich bin während eines Tutorials über folgende Klasse gestolpert
Code:
export class QuestionBase<T> {
value: T;
key: string;
label: string;
required: boolean;
order: number;
controlType: string;
constructor(options: {
value?: T,
key?: string,
label?: string,
required?: boolean,
order?: number,
controlType?: string
} = {}) {
this.value = options.value;
this.key = options.key || '';
this.label = options.label || '';
this.required = !!options.required;
this.order = options.order === undefined ? 1 : options.order;
this.controlType = options.controlType || '';
}
}
Diesen verstehe ich nicht genau
Zeile1 : Was bedeutet <T>hinter dem Klassennamen?
Zeile2: Was ist der Datentyp T?
Constructor Zeile 10 - 17
Ich lesen diesen wie folgt. Es gibt einen Parameter mit den namen options dieser enthält den Aufbau den danach definierten Objekttypen, alle Eigenschaften dieses Objekttypen sind optional. Was in Zeile 17 Passiert ist mir unklar.
im Körper des Konstruktors werden die Attribute zugewiesen, aber warum hat Zeile 21. ein doppeltes Ausrufezeichen? Zum negieren reicht doch ein Einfaches.
Viele Grüße
Peter P.