GEDOPLAN
Webprogrammierung

TypeScript Magie für Java Entwickler (Level 2)

Webprogrammierung
ts level2 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 🙂 )

Generics? JaJa…die haben wir doch auch in TypeScript: Generics

function search<T>(query: T, items: T[]): T[] | T {
    return items.filter(i => i === query)
}

Oller Hut? TypeSkript bleibt flexibel: Generic Constraints (Type Parameters)

function avgAge<T extends { age: number }>(items: T[]): number {
    const ages = items.map(itm => itm.age);
    return ages.reduce((a, b) => a + b, 0) / ages.length
}

1,2,3…gib mir so viel du hast: Rest Parameter

function createMultiMessageNews(title: string, ...messages: string[]) {
    // impl
}

createMultiMessageNews('News-Flash', 'Hello')
createMultiMessageNews('News-Flash', 'Hello', 'World')

Handwerklich begabt: Destructuring

// Parameter Destructuring
function postMessage1({title, message}: News) {
    console.log(title);
    console.log(message);
}

//Object Destructing
function postMessage2(news: News) {
    const {title, message} = {...news};

    console.log(title);
    console.log(message);
}

// Array Destructing
function postFirstMessage(news: News[]) {
    const [publishNews, ...rest] = [...news]
    console.log(publishNews)
}

// harmoniert mit dem oben genannten Rest Parameter
createMultiMessageNews('News-Flash', ...['Hello', 'World'])

Wie Weihnachten. Ein- und Aus-packen: Spreading

let objectA = {a: 'a'};
let objectB = {b: 'b'};
let objectABC = {...objectA, ...objectB, c: 'c'};

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

communication 3671504 640 jpg
Spring

Spring Batch

Spring Batch ist seit Jahren ein weit verbreiteter Ansatz, um robuste und skalierbare Batchprozesse in unseren Projekten zu realisieren. Heute…
coffee cup 2317201 1280
Java

Java 24 Scoped Values: Werte mit Haltung

Mit JEP 487 „Scoped Values“ führt Java eine neue Möglichkeit ein, Kontextwerte kontrolliert und threadsicher weiterzugeben – ohne ThreadLocal und…

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!