TypeScript lernen: Eine Einführung in 80 Minuten // deutsch

แชร์
ฝัง

ความคิดเห็น • 115

  • @markeem321
    @markeem321 3 ปีที่แล้ว +44

    Das ist mit Abstand das beste TS quick Tutorial was ich bis jetzt gesehen habe. Kein Clickbaiting und elendiges in die Länge ziehen mit Basics. Vielen Dank, Abo ist raus :) .

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว

      [gr] Vielen herzlichen Dank für das tolle Feedback 😊

  • @michaelrichter9408
    @michaelrichter9408 3 ปีที่แล้ว +18

    Deep Dive Videos sind eine super Idee, gerne mehr davon. Vielen Dank Golo.

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว

      [gr] Gerne - und vielen Dank für das tolle Feedback! 😊

  • @franzb1152
    @franzb1152 3 ปีที่แล้ว +7

    Danke Golo, deine Art und Weise des Erklärens hilft mir sehr in den Entsprechenden Themengebieten voran zu kommen.

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว

      [gr] Danke schön, das freut mich 😊

  • @wasauchimmer
    @wasauchimmer 3 ปีที่แล้ว +13

    Danke Golo, du hast es wirklich super gemacht!

  • @nilsraus
    @nilsraus 3 ปีที่แล้ว +5

    Wie auf Knopfdruck, genau DAS brauche ich gerade für mein Praktikum. Vielen Dank! :))

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว +2

      [gr] Perfekt 😊
      Viel Spaß und Erfolg im Praktikum 😊

  • @florianwilhelm959
    @florianwilhelm959 2 ปีที่แล้ว +1

    Super gutes Tutorial! Am Anfang Zielgruppe definiert und dann in zielgruppengerechter pace (nicht zu lahm, nicht zu schnell) das Wichtigste erklärt.

    • @thenativeweb
      @thenativeweb  ปีที่แล้ว

      [gr] Das freut mich, vielen Dank 😊

  • @Gsudi
    @Gsudi 2 ปีที่แล้ว +1

    Danke! Sehr hilfreiche Lehrvideos!

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Vielen, vielen Dank 🥰

  • @wernerw.1328
    @wernerw.1328 2 ปีที่แล้ว +1

    Mein Auswahlkriterium für dieses Video war das Bild in der YT-Vorschau: da ist einer mit der gleichen Gewichtsklasse wie ich- der ist bestimmt nett. Und was muss ich sagen - nicht nur nett sondern auch ein hervorragender Tutor, der in erstklassiger Art und Weise das Ganze rüberbringt.

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Vielen lieben Dank - freut mich 😊

  • @yahmk3978
    @yahmk3978 3 ปีที่แล้ว +1

    Vielen Dank. Ab 07:07 habe ich die Stop-Taste gedrückt und werde mir erst mal Deinen Beitrag "JavaScript lernen: Eine Einführung in 100 Minuten" ansehen.

  • @necrotorian
    @necrotorian 2 ปีที่แล้ว +1

    Danke für dieses gut verständliche und kurze Tutorial

  • @sjm8931
    @sjm8931 2 ปีที่แล้ว +2

    Hammer! Einfach nur gut. Könnte man nicht besser machen. Strukturierte, geballte Zusammenfassung. Danke dafür!

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Vielen, vielen Dank 😊

  • @xkons
    @xkons 3 ปีที่แล้ว +7

    Vielen Dank für dieses ausführliche Thema zu meiner Lieblingsprogrammiersprache ❤️ Wird geteilt.

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว

      [gr] Gern geschehen - und vielen Dank 😊

  • @marinaegner
    @marinaegner ปีที่แล้ว +1

    Wieder Mal ein wunderbares Tutorial!
    Scheint mir gar nicht Mal so schwer zu sein.
    Ich bin gerade dabei, mein erstes kleines npm module zu erstellen. Dabei kam ich über JSDoc (was mir schon gut gefallen hat) wiederum auf den Gedanken, ob es nicht sinnvoll wäre nicht direkt Typescript zu verwenden.
    Das gibt nicht nur mir Vorteile, sondern auch den Personen, welche das Modul einmal verwenden möchten.

    • @thenativeweb
      @thenativeweb  ปีที่แล้ว +1

      [gr] Vielen lieben Dank - und es freut mich, dass Du (wieder) einen Schritt weiter gekommen bist 😊
      Und das mit TypeScript, dass das nicht nur Dir, sondern auch den Verwender:innen nützt, finde ich eine schöne Überlegung 😊

    • @marinaegner
      @marinaegner ปีที่แล้ว

      @@thenativeweb vielen Dank!😊

  • @krm5v
    @krm5v 3 ปีที่แล้ว +9

    Dein Kanal müsste viel mehr Abos haben! Deine Tutorials sind spitze und so angenehm zu verfolgen. Danke dafür! Abo ist raus 👍

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว +1

      [gr] Vielen, vielen Dank 😊

  • @jonathanweberde
    @jonathanweberde ปีที่แล้ว +1

    Danke für das hilfreiche und gut zusammengefasste Video!

  • @edgarklepek4667
    @edgarklepek4667 2 ปีที่แล้ว +1

    Sehr hilfreich und anschaulich! Danke Golo!

  • @MarkusEicher70
    @MarkusEicher70 2 ปีที่แล้ว +1

    Hallo Golo. Vielen Dank für diese Einführung in TypeScript. Du hast mir grade einen Zahn gezogen. Ich war einer von denen die dachten mal lieber TypeScript anstelle von Javascript lernen zu wollen. Ich vertraue auf Deine Einschätzung da ich schon viele Deiner Videos gesehen und meistens sehr viel daraus gelernt habe. Somit geht's jetzt los oder besser gesagt weiter mit Javascript. War übrigens ein dringender Rat auch von anderen das zu tun. War wie immer sehr interessant und gut präsentiert. Hab ne gute Zeit und bis sicher bald. Gruss aus der Schweiz.

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Freut mich, vielen Dank 😊

  • @sumoluke95
    @sumoluke95 2 ปีที่แล้ว +1

    Alles dabei für den Einstieg in TS, super Video!

  • @Stoldt112
    @Stoldt112 2 ปีที่แล้ว +1

    Danke für die sehr gute Einführung in TS. Habe noch viel gelernt und direkt ein Abo dagelassen.

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว +1

      [gr] Vielen Dank, das freut mich sehr 😊

  • @kwi8427
    @kwi8427 2 ปีที่แล้ว +1

    Super. Tolle Erklärungen. Hilfreich auch bei c#.
    Toll auch dein tempo.

  • @anilsahinturk8459
    @anilsahinturk8459 2 ปีที่แล้ว +1

    Vielen Dank für das Video! Sehr angenehm erklärt.

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Das freut mich, vielen Dank 😊

  • @BalengForever
    @BalengForever 3 ปีที่แล้ว +1

    Sehr gute Einführung, gerne mehr davon

  • @leminem7984
    @leminem7984 3 ปีที่แล้ว +3

    Gute Einführung

  • @derschratling5604
    @derschratling5604 2 ปีที่แล้ว +2

    Super Video, vielen Dank dafür!

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Gern geschehen, freut mich 😊

  • @mag8101
    @mag8101 2 ปีที่แล้ว +1

    Immer wieder nice die Videos. Super erklärt. Habe aktuell mit Angular zutun und da helfen unterschiedliche Perspektiven :)

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Das freut mich, vielen Dank 😊

  • @mattiashorvath9865
    @mattiashorvath9865 2 ปีที่แล้ว +2

    sensationel erklärt! danke!

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Vielen, vielen Dank, das freut mich sehr 😊

    • @mattiashorvath9865
      @mattiashorvath9865 2 ปีที่แล้ว +1

      bin gerade dabei meine restapi auf ts umzustellen und das weiterleiten deines videos erspart jede menge erklärbär arbeit für mich 😉

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      @@mattiashorvath9865 [gr] Schön - das freut mich 😊

  • @Tony.K871
    @Tony.K871 2 ปีที่แล้ว +1

    Sehr gute Einführung! Danke dafür :)

  • @stargroundblocks1679
    @stargroundblocks1679 ปีที่แล้ว +1

    Danke für das gute Video😁.
    direkt für die Ausbildung im Sept. vorbereiten da die Firma Angular nutzt.

    • @thenativeweb
      @thenativeweb  ปีที่แล้ว

      [gr] Vielen lieben Dank 😊

  • @tobyzieglerrr
    @tobyzieglerrr 11 หลายเดือนก่อน

    Super Tutorial. Danke hierfür!

  • @arminhirschfeld
    @arminhirschfeld 2 ปีที่แล้ว +1

    Starkes Video

  • @mohamedBouasida
    @mohamedBouasida ปีที่แล้ว

    Vielen Dank, sehr gut erklärt

  • @umicore4341
    @umicore4341 3 ปีที่แล้ว +2

    gerne mehr davon !

  • @VoidNotVoid
    @VoidNotVoid 10 หลายเดือนก่อน

    Bravo, danke!

  • @ie8427
    @ie8427 2 ปีที่แล้ว

    Danke, Große Hilfe

  • @perschinski
    @perschinski 2 ปีที่แล้ว +1

    Sehr schön 👌

  • @thoschi3581
    @thoschi3581 3 ปีที่แล้ว +3

    Super Zusammenfassung! Ich würde die Todos als Kopie zurückgeben, damit man die Werte in der "echten Liste" nicht von außen ändern kann. Falls man da noch Observable-Funktionalität einbauen möchte, könnte man dieses sonst über getAll... umgehen.

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว

      [gr] Ja, das ist ein guter Punkt - wobei ich den Aufwand, ein Deep-Clone zu machen, nicht immer haben wollte, sondern nur in bestimmten Fällen … aber prinzipiell ja 😉

  • @bunny.bunbob
    @bunny.bunbob 2 ปีที่แล้ว +1

    sehr sehr geil abgesehen von dem sprung bei 7 min wo plötzlich das projekt mit passenden dateien offen ist oder nicht einmal der cmd zur installation genannt wurde

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Danke für das Lob 😊
      Was den "Sprung" angeht - bei 8:21 erkläre ich die Dateien ja, bis dahin ist auch nichts installiert worden, und die Installation erfolgt über "npm install typescript", den nenne ich aber auch explizit (bei 9:07).

    • @bunny.bunbob
      @bunny.bunbob 2 ปีที่แล้ว

      @@thenativeweb mich haben auch die bereits vorhandenen dateien irritiert.

  • @JentaroYusong
    @JentaroYusong 3 ปีที่แล้ว +1

    Super Video. "unknown" war mir bisher nicht so geläufig, werde ich definitiv nun regelmäßig anstelle von "any" verwenden!
    Bezüglich euer Exports: Wieso schreibt ihr die Exports denn gesondert ans Dateiende anstelle das jeweilige Interface etc. an der Stelle der Deklaration zu exportieren? Damit es immer an der gleichen Stelle ist, etwa falls "private" Hilfsfunktionen in der gleichen Datei enthalten sind aber nicht exportiert werden sollen? Nutzen viel Kotlin, da wird analog zu Java die Visibility bei der Deklaration festgelegt (public, internal, private). Hilfsfunktionen wären demnach "private" und die eigentliche top-level Funktion wäre "public / internal".
    Beispiel in TS:
    function foo() { return 2 }
    export function bar() { return foo() + 3 }
    Beispiel in Kotlin:
    private fun foo() = 2
    public fun bar() = foo() + 3
    Ihr hättet dann vermutlich:
    function foo() { return 2 }
    function bar() { return foo() + 3 }
    export { bar };
    Mich würde nur der Beweggrund interessieren. Bisher nutzen wir in unserem TS-Projekten die Syntax im 1. Beispiel. In unseren Kotlin-Projekten entsprechend die Syntax im 2. Beispiel.

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว +1

      [gr] Danke für das Feedback 😊
      Was die Exports angeht, hat das vor allem den Sinn, dass es übersichtlicher ist, wenn am Dateiende nur ein einziges Export steht, und die nicht wild verstreut in der Datei sind, mal hier, mal dort. Und, dass es eben dateiübergreifend konsistent ist.
      Das ist eigentlich schon alles 😊

  • @Metalkillsrap
    @Metalkillsrap 2 ปีที่แล้ว +1

    Ich benutze gerade in einem neuen Projekt Typescript, obwohl ich vorher sehr, sehr wenig Javascript programmiert habe und finde das eigentlich gar nicht so übel. Man muss dazu sagen, dass ich vorher recht viel in Kotlin gemacht habe und dort insbesondere die funktionalen Elemente sehr geschätzt habe und ich großen Wert darauf gelegt habe, ein statisches Typsystem zur Compilezeit zur haben, weil das einfach unglaublich viele dumme Fehler eliminieren kann. Ich finde das jedenfalls ganz angenehm, allerdings würde ich gerne mittelfristig die Variante "Kotlin nach JS kompilieren" versuchen. Könntet ihr dazu eventuell auch mal ein Video machen? Das finde ich unglaublich interessant, da ja Kotlin sich mit dem Multiplatform-Builds auch explizit das Ziel gesetzt hat, Backend und Frontend in einer Sprache zu entwickeln und gerade Gradle und sein sehr mächtiges Ökosystem den Build-und Deploymentprozess extrem angenehm macht. Das wäre auf jeden Fall total cool :)

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Vielen Dank für Deinen Kommentar und Dein Feedback 😊
      Prinzipiell gehen wir immer sehr gerne auf Wünsche ein, ich will aber auch keine falschen Versprechungen machen: Es ist leider eher unwahrscheinlich, dass so ein Video zu Stande kommt, einfach deshalb, weil wir überhaupt nichts mit Kotlin (und auch nicht dem Java-Ökosystem) zu tun haben, und wir daher nicht wirklich etwas fundiertes dazu sagen können.
      Tut mir leid 😕

    • @Massenhaft1
      @Massenhaft1 2 ปีที่แล้ว +2

      Es gibt Compose for Web von Jetbrains/Kotlin. Ein Freund hat das schon produktiv im Einsatz. Ich persönlich finde Kotlin immer noch schöner (Syntax und SDK).

    • @Metalkillsrap
      @Metalkillsrap 2 ปีที่แล้ว +1

      @@Massenhaft1 vielen Dank für den Tipp! Das muss ich mir ganz dringend mal anschauen!

    • @No-no-no-no-nope
      @No-no-no-no-nope 2 ปีที่แล้ว +1

      Jetbrains hat Kurse für alles, die sind wirklich sehr gut und gratis.

  • @Maxpower-h8k
    @Maxpower-h8k 3 ปีที่แล้ว +3

    .. naja, dann wird's wohl ne Ente sein ... das wär auch n schöner T-Shirt Spruch 😅

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว +1

      [gr] Auf jeden Fall 🦆

    • @AndreNitschke
      @AndreNitschke ปีที่แล้ว

      Außer die Ente fühlt sich heute als Wolf 😂

  • @cihanoeztuerk5465
    @cihanoeztuerk5465 2 ปีที่แล้ว +1

    Sehr cooles Video. Mir persönlich haben die Fallbeispiele gefallen wo etwas seinen Einsatz finden könnte.
    Interessant wäre es, wenn man noch das ganze ausgeführt hätte. Würde man da die build/app.js, wie üblich ausführen?Wie würde der automatisierte Workflow aussehen um nicht erst "npx tsc" auszuführen und dann bspw. node "./build/app.js". Mir fällt nur die Anpassung in der package.json ein, worin man im script-block sowas wie "start": "npx tsx | node ./build/app.js" zustehen hat.
    Vielen Dank (:

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Das freut mich sehr, vielen Dank 😊
      Um nicht immer von Hand "npx tsc" ausführen zu müssen - guck Dir mal "ts-node" an: www.npmjs.com/package/ts-node
      Ich denke, das ist, was Du (für die Entwicklung) haben willst 😊

  • @mailML-g2k
    @mailML-g2k ปีที่แล้ว +1

    Hi, perfektes Video für mich. Ich möchte Softwareentwickler werden muss ich dafür studieren?

    • @thenativeweb
      @thenativeweb  ปีที่แล้ว

      [NG/FR] Servus👋🏻. Vielen Dank für den lieben Kommentar, nein um Softwareentwickler zu werden, musst du nicht unbedingt studieren. Es kommt immer ein bisschen darauf an, in welchen Bereich du möchtest. Schaue dir doch mal die Ausbildungsberufe an z.B: FachInformatiker (FIAE). PS: wenn du dich mit uns und unserer Community austauschen möchtest für weitere solcher Fragen komm doch auf unseren Discord: discord.gg/ZQbSDQyJ2m

  • @ikemkrueger
    @ikemkrueger ปีที่แล้ว +1

    Ich hätte gerne ein Video zu Fehlerbehandlung allgemein. Den "Happy Path" krieg ich nämlich geschrieben, beim abweichen davon bin ich mir nie so ganz sicher wieviel davon wo abfangen. Und ich hab eine geringe Frustrationstoleranz. Deswegen wüsste ich gerne, wie man das möglichst effizient macht, ohne graue Haare darüber zu bekommen.

    • @thenativeweb
      @thenativeweb  ปีที่แล้ว +1

      Danke für Deinen Kommentar 😊
      Allerdings habe ich die Frage noch nicht ganz verstanden, das Thema klingt aber nach einem spannenden für ein Video - magst Du mir dazu eventuell mal eine E-Mail an golo [dot] roden [at] thenativeweb [dot] io schreiben?

    • @ikemkrueger
      @ikemkrueger ปีที่แล้ว

      @@thenativeweb Hab dir eine Mail gesendet.

  • @TheOlpf1
    @TheOlpf1 11 หลายเดือนก่อน

    Mit einem enum hat den Vorteil magic strings zu vermeiden, oder?

  • @therealkon_
    @therealkon_ 2 ปีที่แล้ว

    Bei verschwindet leider die Fehlermeldung bei 'uuid' nicht. Selbst wenn ich @types/uuid installiere bleibt die Meldund "Cannot find module 'uuid' or its corresponding type declarations.ts(2307)". Auf der Homepage zum Projekt definitleytyped wird übrigens auch nichts mehr angezeigt. Kann das evtl. zusammenhängen?

  • @boris8983
    @boris8983 2 ปีที่แล้ว +1

    Wie wäre es denn mal mit einem Video über die Typescript Utility Types?

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว +1

      [gr] Das ist eine schöne Idee, vielen Dank dafür - die habe ich auf unsere Liste aufgenommen 😊

  • @longingbydesign
    @longingbydesign 2 ปีที่แล้ว +1

    Wenn die Kompatibilität über die strukturelle Gleichheit von Daten entschieden wird, wo wird hier die Möglichkeit unterschiedlicher Prototypen betrachtet? Geht es dabei nur um own properties von Objekten?

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Das ist tatsächlich eine gute Frage, wo die Grenzen liegen, beziehungsweise was alles berücksichtigt wird - da wir kaum mit Vererbung arbeiten, hatten wir das Problem (glaube ich) noch nie. Wäre aber mal spannend, sich damit zu beschäftigen …

  • @omegapirat8623
    @omegapirat8623 2 ปีที่แล้ว +1

    Was ist denn der Unterschied zwischen ts-node und dem package.json script tsc & node?

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว +1

      [gr] ts-node kompiliert während der Laufzeit, und das auch nur rein in-memory. Das erspart Dir beim Entwickeln daher immer das explizite Aufrufen von tsc, ist aber etwas langsamer als wenn es vorkompiliert wäre.
      tsc ist der klassische Compiler, der zunächst kompiliert, das Ergebnis auf Disk schreibt, und das führst Du dann mit Node aus.

    • @omegapirat8623
      @omegapirat8623 2 ปีที่แล้ว

      @@thenativeweb
      Danke für die Antwort.
      Macht es für mich als Entwickler denn einen Unterschied, ob ich tsc & node oder ts-node als start script deklariere?
      In beiden Fällen muss ich doch immer nur "npm start" aufrufen. Bei ts-node hätte ich dann halt den build folder nicht, da der javascript code nur im Arbeitsspeicher existiert, aber sonst? Gibt es bei sehr großen Projekt vielleicht nen merkbaren Unterschied in der Startzeit?

  • @longingbydesign
    @longingbydesign 2 ปีที่แล้ว +1

    Warum keine Accessor Properties anstelle der getter-Funktionen? Im Gegensatz zu z.B. Java kennt Javascript ja echte getter und setter, die in Java ja nur als Konvention existieren. Ist es zudem eine gute Idee in getAllTodos tatsächlich eine Referenz auf die private Todo-Liste zurückzugeben?

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Ja, hätte man auch mit einem Accessor machen können - ich nutze die tatsächlich fast gar nicht, auch wenn ich Dir nicht sagen kann, warum. Wäre aber tatsächlich eine Option gewesen.
      Und was das Zurückgeben der Referenz angeht: Kommt darauf an - in dem Fall hätte man sicherlich auch eine Kopie erstellen können. Wenn die Liste aber sehr, sehr groß ist, wird das eventuell ineffizient, und man will dann stattdessen tatsächlich eher eine Referenz zurückgeben. Das muss IMHO von Fall zu Fall entschieden werden. In dem Fall fand ich es nicht wichtig, weil das Ziel des Videos ja nicht ist, Design-Entscheidungen zu erklären, sondern erst mal die Sprache TypeScript an sich.

  • @namiboy787
    @namiboy787 2 ปีที่แล้ว +1

    ist vanilla ein synonym für O.G? kenn das nur von WoW Vanilla xD

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Was bedeutet O.G?

    • @namiboy787
      @namiboy787 2 ปีที่แล้ว +1

      @@thenativeweb original, ursprünglich, Bsp. Wow classic ist das o.g spiel

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Ah 😊. „Vanilla“ bedeutet so viel wie die „Standardvariante“, ohne großartige Extras. So wie beispielsweise Vanilleeis eben auch das „gängige“ eis ist, wo man davon ausgehen kann, dass das den meisten schmeckt, mit dem man nichts falsch macht, was aber häufig eben auch nicht besonders spektakulär ist.

  • @mythos401
    @mythos401 2 ปีที่แล้ว

    Hey, ich bin ein bisschen verwirrt, du meinstest, JavaScript-Funktionen müssen immer einen Rückgabewert besitzen. Ist das wirklich so? MFG Btw richtg gutes Video ;-)

  • @Kurzrein
    @Kurzrein ปีที่แล้ว +1

    Stay hung, guys ;-)

    • @thenativeweb
      @thenativeweb  ปีที่แล้ว

      [gr] Und nicht zu vergessen: Stay fooli 😉

  • @rniestroj
    @rniestroj 3 ปีที่แล้ว +1

    Schon lustig zu sehen wie Programmiersprachen sich verändern. JS(TS) und PHP rüsten OOP Features nach. Das strukturelle Typsystem haut mich nicht vom Hocker. Wenn ich in Java (oder ner anderen OOP Sprache) zwei Klassen habe die genau die selben Attribute haben würde ich das als Entwickler-Fehler ansehen und nicht als Feature.

    • @thenativeweb
      @thenativeweb  3 ปีที่แล้ว +2

      [gr] Es geht darum, dass Du mit einem strukturellen Typsystem zum Beispiel viel einfacher etwas mocken kannst, weil Du kein Interface oder eine gemeinsame Basisklasse oder ähnliches brauchst. Es genügt, wenn es von der Form her "passt".

    • @MoonShadeStuff
      @MoonShadeStuff 3 ปีที่แล้ว +1

      Als Java Entwickler der seit nem Jahr Typescript macht kann ich dir sagen, dass einen das Typensystem wirklich vom Hocker haut, wenn ein Experte neben dir sitzt und dir ein paar Advanced Features erklärt. Das sind Sachen, die kriegst du in Java so gar nicht abgebildet bzw. du müsstest mit vielen Runtime Checks arbeiten, wo Typescript dir schon sehr früh sagen würde „ne Junge den Wert kannst du der Variable gar nicht zuweisen“. Oder dass Typen sich in if-Blöcken ändern können, wenn du in der Bedingung einen Typen ausschließt. Man geht echt ganz anders an die Programmierung ran, wenn man solche Mittel hat.

  • @robertnelson2531
    @robertnelson2531 2 ปีที่แล้ว +1

    Das Tutorial hat mir sehr gut gefallen.
    Leider bekomme ich beim kompilieren diesen Fehler:
    37 const todo = this.todos.find(todo => todo.id === id);
    ~~~~
    ToDoList.ts:48:33 - error TS2550: Property 'find' does not exist on type 'ToDo[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later.
    Hat jemand eine Idee warum?

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว +1

      [gr] Im Prinzip gibt Dir der Fehler schon einen Hinweis, wie Du das Problem lösen kannst / musst. In der tsconfig.json gibt es in der Sektion compilerOptions das Setting lib, und das musst Du auf es2015 oder eben eine neuere Version stellen. Das heißt, entweder steht dort ein Wert wie es5 oder gar es3 drin, oder der Wert ist gar nicht gesetzt, oder Du hast keine tsconfig.json in Deinem Projekt.
      Für Details dazu siehe www.typescriptlang.org/tsconfig#lib

    • @robertnelson2531
      @robertnelson2531 2 ปีที่แล้ว +1

      @@thenativeweb Hallo Golo, hat geklappt. :) Danke.

    • @thenativeweb
      @thenativeweb  2 ปีที่แล้ว

      [gr] Gerne 😊