GEDOPLAN
Webprogrammierung

TypeScript Magie für Java Entwickler (Level 3)

Webprogrammierung
ts level3 png

Als Fullstackentwickler ist man mit einem bunten Blumenstrauß an Technologien gesegnet. Insbesondere JavaScript und TypeScript ist für viele Java Entwickler erst einmal ungewohntes Terrain. Diese kleine Serie zeigt zumindest einige Features über die der ein oder andere Java Entwickler sicherlich den Kopf schütteln wird (bis er sie lieben gelernt hat 🙂 )

Mehr ist besser, aber bitte einfach: Function Overloads

interface News {
    title?: string
    titleType?: number
    message: string
}

function createNews(message: string): News;
function createNews(message: string, title: string, titleType: number): News;
function createNews(message: string, title?: string, titleType?: number): News {
    return {
        message,
        title,
        titleType
    };
}

createNews("Hello World");
createNews("Hello World", "News-Flash", 2);
// createNews("Hello World", "News-Flash"); // error, die ausimplementierte Funktion ist nicht direkt aufrufbar

Typisierung. Aber immer schön flexibel bleiben: Index Signatures

interface ISOCountryNames {
    [index: string]: string;
    default: string
}

let isoNames: ISOCountryNames = {
    de: 'Deutschland',
    en: 'England',
    default: 'Lummerland'
}

Einmal irgendwas davon: key of

function publishNewsAttribute(news: News, att: keyof News) {
    console.log(news[att]);
}

publishNewsAttribute({} as News, 'message')
publishNewsAttribute({} as News, 'title')
// publishNewsAttribute({} as News, 'was-anderes') // compiler error

Alles davon. Aber anders: Mapped Types

// Mapped Types
type NewsPrintSize = {
    [index in keyof News]: number;
};

const printSizes: NewsPrintSize = {
    message: 12,
    title: 15,
    titleType: 0,
    anders: 22 // compiler error
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!