Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz.

Ähnliche Präsentationen


Präsentation zum Thema: "TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz."—  Präsentation transkript:

1 TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz

2 JS sucks?!

3 The Pain of JavaScript keine Typsicherheit
Objektorientierung schwierig für Ungeübte Keine gute IDE Unterstützung schwer wartbar bei großen Projekten Typos werden bestraft

4 Vorteile von TS gute und große IDE Unterstützung frühe Fehlererkennung
geeignet für große Anwendungen sicheres Refactoring

5 Sitemap Fakten und Aufbau Funktionsweise live coding

6 TypeScript ~2012 von Anders Hejlsberg/Microsoft veröffentlich
Version 2.3 (Stand Mai 2017) Open-Source (Apache-2.0) Platz 15 auf GitHub bekannteste Projekte Angular2 VS-Code TypeScript

7 Aufbau basiert auf Vorschlägen von ES6 statisches Typensystem
Var vs. let vs. const primitive Datentypen string, number, Date, Array, any Enum

8 OOP Klassen Interfaces Vererbung Generics Konstruktor Felder Methoden
private/public/protected Interfaces Vererbung Generics

9 Beispiel function Person(firstName) { this.firstName = firstName; } function Student(firstName, id) { Person.call(this, firstName); this.id = id; } Student.prototype = Object.create(Person.prototype); Student.prototype.constructor = Student; Student.prototype.partyHard = function () { return "PARTY"; } var student = new Student("Bob", 12); alert(student.firstName + ": " + student.id + " - " + student.partyHard()); class Person{ constructor(public firstName:string) { } } class Stundent extends Person{ constructor(firstName:string, public readonly id:string) { super(firstName); } partHard() { return "Party"; } } const student = new Stundent("Bob", "ID42"); alert(student.partHard() + " ID:" + student.id); Beispiel einer Klassen Defnition Links JS mit Prototypen

10 Async/Await async function doSomething() { try { let val = await getAPromise(); console.log(val); } catch(err) { console.log('Error: ', err.message); } } Lambda -> Arrow Functions in es6 -> this

11 Yield/Generator function* infinity() { let i = 0; while(true) { yield i++; } } var iterator = infinity(); interator.next(); Lambda -> Arrow Functions in es6 -> this

12 Anbindung externe Libs
npm Ökosystem nutzbar DefinitelyTyped (*.d.ts) npm install lodash npm install

13 Vielen Dank für Ihre Aufmerksamkeit
Ende Vielen Dank für Ihre Aufmerksamkeit

14 Quellen

15 Abstract So gut wie jeder Softwareentwickler hat bestimmt schon mal über JavaScript geflucht. Es ist nicht typsicher, zu dynamisch, zu fehleranfällig und vieles mehr. Für diese Probleme hat Microsoft TypeScript entwickelt. Eine Objekt orientierte Sprache die jeder C#-Entwickler schnell erlernen und sicher anwenden kann, aber auch JavaScript Entwickler können auf ihr erlerntes Wissen zurückgreifen. In dem Vortrag möchte ich euch einen Einblick in die Sprache geben und aufzeigen, was die Sprache so interessant macht.

16 Kontakt zu uns... Wir navigieren erfolgreich zum Ziel.
Tuan Dang-Schulz Software Developer Telefon


Herunterladen ppt "TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz."

Ähnliche Präsentationen


Google-Anzeigen