{"id":9257,"date":"2024-07-05T15:53:03","date_gmt":"2024-07-05T15:53:03","guid":{"rendered":"https:\/\/byte-bucket.com\/2024\/07\/05\/ecmascript-2024-freigegeben-neue-funktionen-verbessern-javascript-standard\/"},"modified":"2024-07-05T15:53:03","modified_gmt":"2024-07-05T15:53:03","slug":"ecmascript-2024-freigegeben-neue-funktionen-verbessern-javascript-standard","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=9257","title":{"rendered":"ECMAScript 2024 freigegeben: Neue Funktionen verbessern JavaScript-Standard"},"content":{"rendered":"<p>Die Ecma International hat k\u00fcrzlich die Freigabe von ECMAScript 2024 bekannt gegeben und somit den JavaScript-Standard weiter verbessert. In der f\u00fcnfzehnten Ausgabe wurden zahlreiche Vorschl\u00e4ge umgesetzt, von denen einige bereits seit 2015 in Entwicklung waren. <\/p>\n<p>Eine der spannenden Neuerungen betrifft die M\u00f6glichkeit, die Gr\u00f6\u00dfe von codeArrayBuffer\/code und codeSharedArrayBuffer\/code anzupassen. Vorher war es nicht m\u00f6glich, die Gr\u00f6\u00dfe dieser Buffers dynamisch anzupassen, was oft zu Einschr\u00e4nkungen f\u00fchrte. Durch die Aktualisierung der Konstruktoren von codeArrayBuffer\/code ist es nun m\u00f6glich, eine zus\u00e4tzliche Maximall\u00e4nge zu akzeptieren. Dadurch wird das Vergr\u00f6\u00dfern und Verkleinern des Buffers erm\u00f6glicht. Auch codeSharedArrayBuffer\/code wurde verbessert und akzeptiert nun eine zus\u00e4tzliche maximale L\u00e4nge, um das Vergr\u00f6\u00dfern des Buffers zu erm\u00f6glichen. Das Verkleinern von geteiltem Speicher ist jedoch gem\u00e4\u00df dem Proposal auf GitHub nicht gestattet, da es als ineffizient angesehen wird. Eine sinnvolle Entscheidung, um den Speicher effizienter zu nutzen.<\/p>\n<p>Eine weitere Verbesserung betrifft die Konfiguration von Promises. Mit der neuen Methode codePromise.withResolvers\/code k\u00f6nnen Entwickler nun das Aufl\u00f6sungs- und Ablehnungsverhalten eines Promise nach seiner Instanziierung konfigurieren. Das ist besonders praktisch, da bisher oft ein Umweg n\u00f6tig war, um dies zu erreichen. Dies f\u00fchrte oft zu Boilerplate-Code, der die Lesbarkeit des Codes beeintr\u00e4chtigte. Die neue Methode codewithResolvers\/code gibt ein Promise zur\u00fcck, zusammen mit den entsprechenden Resolution- und Rejection-Funktionen, und macht somit den bisherigen Boilerplate-Code \u00fcberfl\u00fcssig. Eine willkommene Verbesserung f\u00fcr Entwickler, die ihre Promises jetzt noch einfacher konfigurieren k\u00f6nnen.<\/p>\n<p>Zudem wurde das Flag codev\/code f\u00fcr regul\u00e4re Ausdr\u00fccke in ECMAScript 2024 aufgenommen. Es erm\u00f6glicht das Erstellen von regul\u00e4ren Ausdr\u00fccken mit erweiterten Funktionen zum Arbeiten mit String-Sets. Das er\u00f6ffnet neue M\u00f6glichkeiten f\u00fcr die Verarbeitung von Texten und erleichtert die Arbeit mit komplexen Mustern. Zus\u00e4tzlich stehen nun die Methoden codeObject.groupBy\/code und codeMap.groupBy\/code zur Verf\u00fcgung, um Daten zu aggregieren. Diese Funktionen erleichtern die Analyse und Verarbeitung von Daten und machen den Code noch kompakter und lesbarer. <\/p>\n<p>Ein weiteres Highlight ist die Methode codeAtomics.waitAsync\/code, die das asynchrone Warten auf eine \u00c4nderung im gemeinsam genutzten Speicher erlaubt. Bisher war das Warten auf eine \u00c4nderung in shared memory eine ziemliche Herausforderung und f\u00fchrte oft zu kompliziertem Code. Mit codeAtomics.waitAsync\/code wird das Warten jetzt viel einfacher und effizienter, da es asynchron erfolgt. Das ist vor allem in Multi-Threaded-Umgebungen von gro\u00dfem Nutzen.<\/p>\n<p>Die Vorschl\u00e4ge, die im aktuellen ECMAScript-Standard enthalten sind, haben den vierten Status im Vorschlagsprozess erreicht und sind auf GitHub einsehbar. Dort sind auch alle anderen ECMAScript-Vorschl\u00e4ge in verschiedenen Entwicklungsstufen aufgef\u00fchrt. Das zeigt, dass die Entwicklung von JavaScript und der dazugeh\u00f6rigen Standards eine kontinuierliche und offene Diskussion ist.<\/p>\n<p>Das TC39, das technische Komitee f\u00fcr die Standardisierung von JavaScript, hat im Jahr 2024 die neue Version 2.7 eingef\u00fchrt, welche der vorherigen Stufe 3 entspricht. Mit ECMAScript 2024 werden Entwicklern noch mehr M\u00f6glichkeiten geboten, JavaScript effizienter und leistungsf\u00e4higer einzusetzen. Die neuen Funktionen und Verbesserungen machen die Entwicklung mit JavaScript noch angenehmer und helfen dabei, den Code sauberer und effizienter zu gestalten. Es bleibt spannend zu sehen, wie Entwickler diese neuen M\u00f6glichkeiten nutzen und welche weiteren Innovationen die Zukunft von JavaScript bringt.<\/p>\n<p>Schlagw\u00f6rter: GitHub + Ecma + ECMAScript<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Ecma International hat k\u00fcrzlich die Freigabe von ECMAScript 2024 bekannt gegeben und somit den JavaScript-Standard weiter verbessert. In der f\u00fcnfzehnten Ausgabe wurden zahlreiche Vorschl\u00e4ge umgesetzt, von denen einige bereits seit 2015 in Entwicklung waren. Eine der spannenden Neuerungen betrifft die M\u00f6glichkeit, die Gr\u00f6\u00dfe von codeArrayBuffer\/code und codeSharedArrayBuffer\/code anzupassen. Vorher&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":9256,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/9257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9257"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/9257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/9256"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}