GEDOPLAN
Webprogrammierung

TypeScript Magie für Java Entwickler (Level 1)

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

JavaScript kennt bekanntlich keine statische Typisierung, TypeScript fügt diese zumindest zur Compile-Zeit hinzu, ist aber dennoch recht „flexibel“, was diese angeht: Union Types

interface Message {
    msg: string
}

function helloWorld(message: Message | string | number | string[] | number[]) {
    // impl
}
helloWorld({msg: "I am no Message, but have a msg-Attribute"})
helloWorld("Hello");
helloWorld(["Hello", "World"]);
helloWorld(12);
helloWorld([12, 13]);

Am Ende ist alles true oder false, zumindest wenn wir das wollen: Truthiness

let emptyValue;
const value = "Hello World";
const message: Message = {msg: "Hello World"}
const no0= 0;
const no1 = 1;
if (value || message) {
    //...
}
console.log(!!emptyValue)       // false
console.log(!!value)            // true
console.log(!!message)          // true
console.log(!!no0)              // false
console.log(!!no1)              // true
console.log(!!!no1)             // false

Flexibilität ist alles, auch bei der Deklaration von Methoden: default- und optional – parameter

// ### default and optional parameter
function sendMessage(message:string, title = 'New Message', author? : string){
    console.log(message, title, author);
}

sendMessage('Hello Word')
sendMessage('Hello World', 'World-Message')
sendMessage('Hello World', 'World-Message', 'Dominik Mathmann')
sendMessage('Hello World', undefined, 'Dominik Mathmann')

Typisierung ist prima. Auch wenn es um Funktionen geht: call signatures

function loadData(query: string, callback: (_: string[]) => void) {
    //...
    callback([]);
}

loadData("...", (data) => console.log(data));

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

IT-Training - GEDOPLAN
Entwicklungswerkzeuge

Upgrade auf Maven 3

Wir benutzen für unsere Projekte schon seit Langem Maven als Build-Werkzeug. Nachdem die neue Version 3 schon seit ein paar…
IT-Training - GEDOPLAN
Webprogrammierung

Angular, HTTP Error Handler

Eine Rest-Schnittstelle über den von Angular bereitgestellten HTTP-Service an zu binden ist nicht schwer. Dank Observables ist auch die Fehlerbehandlung…

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!