Objektorientierte Programmierung (OOP) in JavaScript: Eine Einführung in 110 Minuten // deutsch

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ย. 2024

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

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

    Danke! Habe viel Neues gelernt! Unglaublich tolles Video!

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

      [gr] Vielen, vielen Dank - das freut uns sehr 🥰

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

    Ich kann mittlerweile einfach nur danke sagen! Jedes Mal aufs Neue so viel Inhalt in einem Video. Leider hab ich diesen Kanal erst sehr spät entdeckt, aber lieber später als nie.

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

      [gr] Vielen lieben Dank 😊

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

    Ich kann mich den meisten Kommentaren nur anschließen. Ihr seid der Hammer!!! Danke für die regelmäßig großartigen Videos! Ihr gehört mittlerweile zu meinem täglichen Pflichtprogramm.

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

      [gr] Vielen, vielen Dank 😊

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

    Ich freue mich schon auf einen so qualitativ hochwertigen Content rund um Go!

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

    Ich liebe diese Reihe ❤️ TDD Docker Kubernetes …

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

      [gr] Das freut mich, vielen Dank 😊

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

    Super Video zu JavaScript und OOP. Vor allen die Fallstricke zum Thema this sind super erklärt.Vielen Dank.

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

      [gr] Das freut mich, vielen Dank 😊

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

    1:32:04 Um Variablen in VSCode umzubenennen, kann man einfach F2 drücken.

  • @psychedelic-chi
    @psychedelic-chi ปีที่แล้ว

    Erst jetzt wird mir einiges dank deiner Hilfe klar. Tolles Video zum Thema js OOP. Herlichen Dank!

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

    Das war die beste Javascript Zusammenfassung, die ich bis jetzt gesehen habe. Wird weiterempfohlen. Vielen Dank dafür. Was ich für mich mitgenommen habe: Bei „new“, das versteckte mitgeben von „{}“ als „this“ und das anhängen von Variablen und Funktionen daran, den Unterschied von „call“ „commas“ und „apply“ „array“ und die unterschiedlichen Varianten von „this“.

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

    Wieder ein tolles Video! Danke! 😊
    Mir wird damit einiges klarer! 😊
    Ich mag den funktionalen Ansatz insgesamt auch besser und finde mich gerne damit ab, dass es eben keine C-Sprache ist. Das mag ich sogar irgendwie daran.

  • @Lyrik-Klinge
    @Lyrik-Klinge 2 ปีที่แล้ว +1

    Meine Mutter sagte immer, man solle nicht fluchen...
    Ich mache es hier trotzdem: VERDAMMT gute Vermittlungskompetenz bei gutem Unterhaltungscharakter!

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

      [gr] Vielen, vielen Dank 😊

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

    Bin langjähriger javascript Entwickler und muss zugeben, ich erfahre in jedem Deiner Videos einiges Neues. Gerade die OO Thematik war immer so eine unklare Geschichte. Wie ist es denn nun richtig? Warum per keyword class, warum nicht? ... und so wuchs der Code historisch mehr oder weniger gut.
    Hintergrundinformationen und teilweise nur beiläufig erwähnte Sachverhalte bringen mich in Deinen Videos oft auf neue Spuren. Dann schaut man eben doch mal in die node.js, typescript usw. Ecke, auch wenn das gerade nicht aktuelles Entwicklungsthema ist.
    Fragezeichen die beim Schauen der Videos entstehen, werden dann auch kurz darauf geklärt. Dieser Punkt ist bei anderen Kanälen teilweise unbefriedigend.

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

    Vielen lieben Dank für dieses informative Video!

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

      [gr] Vielen lieben Dank 😊

  • @qui-gonkenobi4574
    @qui-gonkenobi4574 2 ปีที่แล้ว +2

    Ich liebe diesen Channel

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

      [gr] Vielen, vielen Dank 😊

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

    Vielen Dank für Dein sehr spannendes und informatives Video. 😊
    In diesem Video konnte ich doch einiges auffrischen und dazu lernen.
    Jetzt finde ich auch das JaveScript "this" etwas weniger gruselig. 😁

  • @Patrick-fs3wh
    @Patrick-fs3wh 2 ปีที่แล้ว +2

    Ich habe erst vor kurzem angefangen, mich mit dem Thema Webentwicklung zu beschäftigen und bin dadurch zufällig auf deinen Kanal gestoßen. Ich wollte mich einfach mal bei dir bedanken für den ganzen Content, den du uns zur Verfügung stellst. Vor allem macht es mega Spaß dir dabei zuzuhören und ich habe in so kurzer Zeit so viel von dir gelernt! Einfach mega, Danke!!

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

      [gr] Vielen, vielen Dank 😊

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

    Tolle Informationen. Das ist ja schon ein Kompendium. Auch die Randinfos wie cdr cda und NullType Bug in JavaScript sowie Prototype sind interessant. Das erste mal, dass ich den „Thanks$“ Button gedrückt habe. Vielen vielen Dank.

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

      [gr] Vielen Dank für Dein tolles Feedback, und natürlich auch für Deine Unterstützung 😊

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

    Vielen Dank für das Video, gerade bei den Eigenheiten von `this` war ich mir doch nicht so sicher. Mit dem OOP Ansatz und den Prototypen von JavaScript und Lua komme ich aber tatsächlich besser klar als mit dem "klassischen" Ansatz von C++,C#,Java. Generell liegen mir die Ansätze abseits des klassischen OOP mehr, gute Beispiele dafür sind auch C und Go. Es lohnt sich auf jeden Fall OOP in diesen beiden Sprachen anzusehen.

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

    Neu war für mich, dass man mit dem new Operator ein beliebiges Objekt zurück geben kann.👍

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

    Danke!

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

      [gr] Vielen herzlichen Dank 😊

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

    Ich würde wirklich gern mal ein ausführliches Video zum Konzept und zur praktischen Anwendung von OLOO (Objects linked to other objects) als Alternative zur Vererbung sehen.

  • @hannes644
    @hannes644 2 หลายเดือนก่อน

    Richtige geile Videos und Erklärungen :D danke vielmals. Wie hast du bei 1:40:30 die ganzen private hashtags # markiert und gelöscht?

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

    setTimeout() und setInterval() kann man auch Parameter übergeben:
    setTimeout(function(bla) {
    console.log(bla.car());
    , 1_000, this);

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

    Golos Erwartung bei 1:39:20 wurde in node 18 verändert und verhält sich jetzt ECMA Script modules konform:
    Das globalThis wird nicht mehr automatisch als Kontext gesetzt.

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

      Somit ist "use strict"; in der ersten Zeile wieder ein noop.

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

      [gr] Ah okay, das ist mir in den Release-Notes entgangen, danke für die Aufklärung 😊

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

      [gr] Nicht ganz - "use strict" macht ja schon noch mehr als nur das Verhalten von this zu beeinflussen … sinnvoll ist es in jedem Fall.

  • @jan-joseflinka5282
    @jan-joseflinka5282 2 ปีที่แล้ว +3

    Mit anderen Worten, die Class Syntax ist nichts anderes als syntaktischer Zucker.
    Und nein ich finde den OOP Ansatz von JavaScript nicht umständlich oder gar kompliziert. Im Gegenteil. Vor 30 Jahren war ich Systemadministrator auf Unix basierten Systemen wie ULTRIX MINIX SINIX und andere. Dort habe ich neben verschiedenen Shell selbstverständlich auch PERL benutzt. Und wer dessen OOP Ansatz mit bless und Co kennt, wird sich über die Einfachheit des OOP Ansatzes in JavaScript freuen.
    Aber wie immer ist es eine Frage der persönlichen Präferenz und der eigenen Historie, ob man ein sprach Konstrukt mag oder eben nicht.

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

      [gr] Ja, syntaktischer Zucker, das trifft's 😊

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

    Unser Informatikprof hat zu cdr immer "kudder" gesagt :)

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

    Kann mich ebenfalls nur anschließen. Mega Video! Aber am Ende kann ich nur sagen: "JavaScript, the sky is the limit"! Das ist doch ekelhaft, irgendwo hörts auf. ^^

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

      [gr] Danke für Dein Feedback 😊

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

    Sehr gut erklärt, tolles Video!
    Zu den Ergänzungen "this":
    Würde der Aufruf mit bind auch nicht funktionieren?
    setTimeout(function (){
    log (this.car());
    }, 1_000).bind(this);

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

      [gr] Was kommt denn dabei heraus, wenn Du es ausprobierst 😉?

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

      Hi Mehmet,
      Du hast vollkommen Recht! Also damit, dass es mit bind auch geht..
      ..nicht damit, dass der Kanalbetreiber gut erklärte Videos produziert. (viele Füllwörter, Phrasen, für Anfänger völlig unbrauchbare, verwirrende Bsp, usw)
      Ein einfaches Bsp wie:
      class A {
      constructor(name){
      this.name = name
      }
      sayName(){
      setTimeout(function(){
      console.log('My name is:', this.name)
      }.bind(this), 1000)
      }
      }
      ..hätte vollkommen ausgereicht. Das Ganze kann man auf 10min eingedampfen und komplett in der Browserkonsole machen. Für eine Einführung in Javascript OOP - und das sage ich mit über 10jähriger Erfahrung mit dieser Sprache - ist das hier eine echt lausige Arbeit eines Menschen, der sich offenbar gerne reden hört und anderen ihre Zeit stiehlt. Sry so sehe ich es nun mal!
      Für Anfänger in JS würde ich immer noch auf "Coding Train" verweisen oder - wenn jem eine deutschsprachige Empfehlung will: "Thytos"
      Letzterer macht auch gleich noch ein kleines CRUD-System mit minimalistischem Datenbankdesign in der Konsole.

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

    Sehr sehr gut erklärt. Jetzt ist es wieder etwas einfacher Mitarbeiter zu finden, die JS können. :P
    Wenn du jetzt nicht nur ein Deepdive machen möchtest, sondern vielleicht mal bis zum Challenger Deep tauchen möchtest, dann solltest du noch den Unterschied zwischen Object.getPrototypeof(MyObject), MyObject.prototype und MyObject.__proto__ erklären. Dann haste JS in Gänze erklärt. =)
    Damit habe ich mich nämlich in meinem Projekt rumschlagen müssen und ich sag dir... Wenn du das, was du im Video schon erklärt hast schräg findest, dann beschäftige dich mal damit... Das "Schiefe Haus" im Phantasialand - Gott habe es selig - ist dagegen schon fast wieder lotrecht. Schade fand ich nur, dass zumindest bei mir Bild und Ton etwas versetzt waren. Ansonsten selbstverständlich mal wieder ein sehr gelungenes Video.

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

      @@sirfakealot5041 Keine Ahnung, wo meine Antwort hin ist, aber das braucht man um Vererbungsketten on-the-fly zu manipulieren.

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

      @@sirfakealot5041 In meinem Fall brauche ich das, weil ich mit einem Decorator meine models initialisiere. Dieser Decorator gibt eine neue Klasse zurück, die von der dekorierten Klasse ableitet. Wenn ich jetzt wiederum von der dekorierten Klasse ableite, leite ich in Wirklichkeit von der vom Decorator zurückgegebenen Klasse ab. Diese will ich dann aber nicht mehr haben, weil sonst einige Dinge X mal ausgeführt werden. Also wandere ich die Vererbungskette so lange hoch, bis ich eine Klasse habe, deren Prototyp diese im Dekorator definierte Klasse ist und setze dann den Prototyp auf den prototyp der Decorator-Klasse, sodass die Decorator-Klasse wieder nur ein mal in der Kette vorhanden ist. Den Decorator brauche ich, weil ich da etwas drinne mache, was man sonst nach jeder Initialisierung händisch machen müsste, oder man muss die Models immer über eine Factory erzeugen. Das ist allerdings extrem ungewohnt, weshalb ich die "Factory" damit in das Model selbst integriere. Würde dir gerne zeigen, wie genau, aber sobald ich versuche hier ansatzweise was rein zu schreiben, dass wie ein Link aussieht, entfernt YT das.

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

    Die Erklärung und das Video ist spitze. Danke dafür.
    Ich bin ein ziemlicher verfechter von C++ und kann deshalb nur festhalten (aus informationstechnischer Sicht): JS ist ziemlicher Schrott :)

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

      [gr] Danke für Deinen Kommentar 😊

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

    Man sind hier fortgeschrittene Programmierer also ich komme schwer mit auch wenn er sich Mühe gibt er bringt mich schon zum teils durcheinander . Also die ersten 20 Minuten waren Müll 🗑 erkläre doch vernünftig was wie abläuft ständig die englischen Begriffe Dollar Zeichen obwohl es jquerry ist , dann diese komischen variablen die seit 1950 besteht CAR Und CDR … args ! Also ich komme schwer .

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

    Danke!

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

      [gr] Vielen, vielen Dank 😊

  • @wadiegg
    @wadiegg 7 หลายเดือนก่อน +1

    Danke!

    • @thenativeweb
      @thenativeweb  7 หลายเดือนก่อน

      Vielen, vielen Dank ❤️

    • @wadiegg
      @wadiegg 7 หลายเดือนก่อน

      @@thenativeweb Großartiges Video