JavaScript: Das ist neu in ES2022 // deutsch

  Рет қаралды 5,803

the native web GmbH

the native web GmbH

Күн бұрын

Пікірлер: 50
@l3ss1sm0r3
@l3ss1sm0r3 Жыл бұрын
Danke fuer den Content. Ich bin seit einiger Zeit abonniert auf euren Kanal und mir gefaellt die deutliche und nich allzu auschweifende Zerlegung recht komplexer Sachverhalte ziemlich gut. Und auch die Thema's sprechen mich an (auch arbeite ich mehr mit Python und Elixir, das JavaScript laesst sich ja nicht so leicht abschuetteln)
@mrshark5507
@mrshark5507 2 жыл бұрын
Dankeschön. Ich liebe Deine Art zu erklären. Klar, verständlich und alles nachvollziehbar. Einfach top. Danke
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen lieben Dank 😊
@tp4801
@tp4801 2 жыл бұрын
Wie wichtig sind dir eigentlich so Style Guides in JS/Node/TS? Wie z.B. der Style Guide von Airbnb. Bei Go ist das natürlich weniger notwendig.
@PH-rp1ku
@PH-rp1ku 2 жыл бұрын
gute frage, das hab ich mich bei Golo auch schon gefragt was er dazu denkt
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Dazu machen wir demnächst mal ein eigenständiges Video 😊
@tp4801
@tp4801 2 жыл бұрын
@@thenativeweb Du bist echt klasse, Golo! Ich werd das sicher direkt an mein Team weitergeben.
@PH-rp1ku
@PH-rp1ku 2 жыл бұрын
@@thenativeweb danke!!!
@devchannel5232
@devchannel5232 2 жыл бұрын
Bin wieder aus dem Urlaub zurück :D und muss Videos nachschauen! Top!
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Welcome back 😊
@danielschlagerai
@danielschlagerai 2 жыл бұрын
Vielen Dank für den wertvollen Content. Absolut TOP!
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen, vielen Dank 😊
@hanshans4006
@hanshans4006 2 жыл бұрын
Danke für dieses tolle und informative Video 👍🏻
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen lieben Dank 😊
@matthiaskolley1048
@matthiaskolley1048 2 жыл бұрын
Vielen lieben Dank, für die wieder einmal super Erklärung.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen lieben Dank 😊
@ScriptRaccoon
@ScriptRaccoon Жыл бұрын
Danke für den Überblick. Da war einiges dabei, was ich noch nicht kannte.
@xMoSicc
@xMoSicc 2 жыл бұрын
Endlich ein Top-Level-Await. :D Was hat mich das an Fingerkuppen gekostet...
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke für Deinen Kommentar 😊
@nasenbar5417
@nasenbar5417 2 жыл бұрын
Wow, ich finde euren Kanal echt stark, kenne ihn noch nicht lange. Bin begeistert. LG aus Bayern
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen, vielen Dank 😊
@nasenbar5417
@nasenbar5417 2 жыл бұрын
@@thenativeweb Gerne doch, mal so ne kurze Frage, falls du ne Meinung dazu hast. Muss am Mitwoch mein Projekt vorstellen (App) und möchte gerne wissen ob es vom IHK lieber gesehen wird, wenn der Vortraghalter die App an sich zeigt oder nur Folien auflegt...:)
@njoyy5903
@njoyy5903 2 жыл бұрын
@@nasenbar5417 ich empfehle Dir, deinen Vortrag durch eine optische Präsentation so zu ergänzen, dass es das was du sagst und ausdrücken möchtest möglichst gut unterstützt. Z.B. indem du auf einigen Folien u.a. Problemstellung, deine Herangehensweise und dein Vorgehen während der Entwicklung beschreibst. Am Ende könnte man das Vorgetragene dann noch mit einem Rundgang durch die App praktisch demonstrieren. Hab keine Erfahrung mit der IHK und was die gern sehen wollen (steht das vielleicht in irgendeiner Beschreibung des Prüfungsmoduls?), aber so solltest du zumindest gut zeigen können, was du im Projekt und in der Ausbildung gelernt hast. Viel Erfolg. 🤞
@nasenbar5417
@nasenbar5417 2 жыл бұрын
@@njoyy5903 Cool, danke für die sehr ausführliche Antwort, freut mich und hilft mir schon mal etwas weiter :) So direkt ist das wohl nicht angegeben...leider
@stevenkleist9111
@stevenkleist9111 2 жыл бұрын
An und für sich sind die neuen Features soweit ok, besonders das Top-Level-Await. Die at() Funktion finde ich etwas Unglücklich, ein array[-1] hätte es auch getan. Was ich aber am wenigsten nachvollziehen kann ist das ergonomic brand Ding; zur Instanzprüfung gibt es bereits Möglichkeiten und auf private Felder zu prüfen erschließt sich mir nicht, die markiere ich ja als Privat damit man sie von Außen eben nicht sehen kann. Aber auf jeden Fall danke für das Video, ich hätte das sonst wohl überlesen 😀
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen Dank für Deinen ausführlichen Kommentar 😊 Das mit der at-Funktion geht mir ebenso. Ja, das ist ganz gut so, aber man hätte tatsächlich auch den Indexer anpassen können - aber, da kommt eben das Standardproblem von JavaScript zum Tragen: Es muss/soll immer alles abwärtskompatibel sein, und das wäre ein Breaking-Change gewesen. Daher die neue Funktion.
@schneider.mariane
@schneider.mariane 2 жыл бұрын
array[-1] wäre nicht mit der Index-Rückgabe "-1" bei Methoten wie "find" für nicht enthalten/gefudnen vereinbar.
@bjesuiter
@bjesuiter 2 жыл бұрын
Ja, da fällt mir möglicherweise ein use Case ein für die hasPrivateField Sache: Wenn man in js checken will, ob ein Objekt tatsächlich von der eigenen Klasse ist, kann man das als indirekten Check nutzen, quasi so, wie wenn ich bei Java eine equals Methode überschreiben würde. Ohne dieses Feature hätte man das Problem, dass man nur das direkte Interface der Klasse validieren könnte über .hasOwnProperty. Der ‚in‘ Operator prüft auch vererbte Felder, und zwar, wie du schon sagtest, an die Instanz gebunden, und nicht wie bei hasOwnProperty nur auf Namensgleicheitsbasis. Beispiel: ich definiere eine Klasse A mit einer ‚name‘ property und eine Klasse B mit einer ‚name‘ und einer ,#age‘ Property. Wenn Klasse A jetzt eine ‚equals‘ Methode auf Basis von hasOwnProperty implementieren würde, könnte man auch einfach eine Instanz von B übergeben und JS würde True zurück liefern, weil beide Objekte eine Name property haben. Fällt euch noch eine andere Möglichkeit ein, außer der ‚in‘ Operator, mit dem man dieses Verhalten in einer equals Methode abbilden könnte?
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke für Deinen Kommentar 😊
@BastianHodapp
@BastianHodapp 2 жыл бұрын
Coole Video! Hab mir in den ersten Sekunden schon gedacht, wie lane du wohl Copilot an lässt, bis es dich nervt :D
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke schön 😊 Normalerweise nutze ich Copilot eigentlich sehr gerne, aber dafür war er tatsächlich eher hinderlich.
@jan-joseflinka5282
@jan-joseflinka5282 2 жыл бұрын
Top-Level-Await finde ich gut! Die anderen Sprachfunktionen habe ich nicht wirklich vermisst! Die at Funktion ist sicherlich nützlich, aber ich hätte es besser gefunden, wen man sich was die Listenverarbeitung angeht syntaktisch mehrt an die der funktionalen Programmierung angelehnt hätte.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Meinst Du so etwas wie zB List-Comprehension?
@jan-joseflinka5282
@jan-joseflinka5282 2 жыл бұрын
genau
@bulentyildiz07
@bulentyildiz07 2 жыл бұрын
Dankeschön für die Details.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Gern geschehen 😊
@debabbe1023
@debabbe1023 2 жыл бұрын
Tolle Zusammenfassung
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen Dank 😊
@harald4game
@harald4game 2 жыл бұрын
Für Fehlermeldungen könnten Indices bei regulären Ausdrücken hilfreich sein. An der Stelle #x müsste a oder b stehen, aber c steht da.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke für Deinen Kommentar 😊
@longingbydesign
@longingbydesign 2 жыл бұрын
Spannend wäre mal eine Erklärung gewesen, wie die at()-Funktion technisch gelöst wurde. Offensichtlich sitzt sie ja nicht auf dem Array-Prototypen, und sie ist auch keine neue/spezielle Syntax wie primes[0]. Auf welchem Prototypen also sitzt at()? Ich vermute mal der Grund, warum man von hinten bei -1 statt 0 anfängt ist das 0 === -0 in JS. Es gibt einfach keinen Komparator der das Vorzeichen mit einbezieht.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Doch, natürlich sitzt es auf dem Array-Prototypen: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at Aber halt nicht nur, sondern zB auch auf dem String-Prototypen: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/at
@svenjodicke3129
@svenjodicke3129 2 жыл бұрын
Also neu für mich war der statische Konstruktor einer Klasse, das finde ich sehr interessant, auch wenn ich noch keinen UseCase dafür habe. Das man Felder aber in der Klasse deklariert, das kannte ich aber schon, habe aber auch erst dieses Jahr angefangen mit JavaScript und vll zufällig schon das Neueste gehabt. Private Felder mir # hatte ich auch schon mal gesehen, aber noch nicht genutzt, wird aber definitiv noch kommen, da ich das in anderen OOP-Sprachen auch nutze (also eigentlich klar). Das mit throw finde ich mega interessant. Das werde ich definitiv ausprobieren, um Fehler in meiner API zu werfen. Mal schauen, wie das dann wirkt, wenn mein Server als Windows-Dienst oder Linux-Dienst läuft. Am interessantesten finde ich tatsächlich auch diese Geschichte mit dem Top-Level-Await, da ich selbst schon einmal als Anfänger in dieses Problem gerasselt bin (hatte ich sogar schonmal in einem Kommentar bei einem deiner Videos beschrieben) und ich auch eine Wrapper-Funktion geschrieben habe, exakt so wie du das beschrieben hast. Es funktioniert zwar und irgendwie ist es auch lesbar und auch wartbar (um mal wichtige Begriffe zu nennen), aber dennoch fühlt es sich nicht richtig an... Also, danke für das Video... Mir hat's geholfen...
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen, vielen Dank für den ausführlichen Kommentar, das freut mich sehr 😊 Und was statische Konstruktoren angeht … naja, der (einzige?) sinnvolle Anwendungsfall wäre halt, dass Du darin statische Member initialisieren kannst, wenn's komplexer wird, als man das mit einer einfachen Zuweisung ausdrücken könnte.
@anion21
@anion21 2 жыл бұрын
WTF: Die hasOwnProperty-Funktion wurde auf Objekten aufgerufen und ist jetzt quasi eine statische Funktion auf Object: Object.hasOwn(...). Ok, verstehe ich. Aber bei der hasPrivateField-Funktion wird das nicht als statische Funktion auf Object definiert, sondern auf dem Typ. Und was ist wenn ich in dem Typ ein Attribut namens "hasPrivateField" habe? Ich habe eine Vermutung, welche Funktion in der nächsten Ecmascript-version statisch auf Object definiert wird...
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Warten wir mal ES2023 ab 😉
@heinrichschiller4673
@heinrichschiller4673 2 жыл бұрын
Ist Copilot nicht gefährlich? Wegen möglichen Copyright-Verletzungen.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Ja, das ist ein mögliches Problem (von mehreren) … interessant dazu auch: matthewbutterick.com/chron/this-copilot-is-stupid-and-wants-to-kill-me.html
@RazahLP
@RazahLP 2 жыл бұрын
Sehr gutes Video 🙂
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke schön 😊
5 Gründe, warum C# Murks (und nicht mehr so ganz zeitgemäß) ist // deutsch
30:27
Warum JavaScript so seltsam ist // deutsch
19:57
the native web GmbH
Рет қаралды 12 М.
When u fight over the armrest
00:41
Adam W
Рет қаралды 16 МЛН
Try Not To Laugh 😅 the Best of BoxtoxTv 👌
00:18
boxtoxtv
Рет қаралды 7 МЛН
小路飞还不知道他把路飞给擦没有了 #路飞#海贼王
00:32
路飞与唐舞桐
Рет қаралды 63 МЛН
黑的奸计得逞 #古风
00:24
Black and white double fury
Рет қаралды 30 МЛН
Asynchrone Programmierung in JavaScript in 80 Minuten // deutsch
1:19:31
the native web GmbH
Рет қаралды 13 М.
Go ist besser als Node.js?! // deutsch
28:29
the native web GmbH
Рет қаралды 7 М.
Generics: The most intimidating TypeScript feature
18:19
Matt Pocock
Рет қаралды 181 М.
Wie KI DEINE Produktivität revolutioniert: NotebookLM erklärt
11:38
JavaScript: Diese Features musst Du kennen (ES2016 bis ES2021) // deutsch
54:32
Heap, Stack, Werte- und Referenztypen // deutsch
21:07
the native web GmbH
Рет қаралды 4,4 М.
PROOF JavaScript is a Multi-Threaded language
8:21
Beyond Fireship
Рет қаралды 287 М.
React, Vue.js, Angular & Co. - was wann wofür? // deutsch
22:13
the native web GmbH
Рет қаралды 11 М.
Warum TDD (Test-Driven Development) überbewertet ist // deutsch
20:13
the native web GmbH
Рет қаралды 10 М.
TypeScript lernen: Eine Einführung in 80 Minuten // deutsch
1:20:35
the native web GmbH
Рет қаралды 38 М.
When u fight over the armrest
00:41
Adam W
Рет қаралды 16 МЛН