devnews.pl

Main Menu

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania

logo

devnews.pl

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania
Informacje
Home›Informacje›V8 wersja 8.4 beta został właśnie wydany

V8 wersja 8.4 beta został właśnie wydany

By Bernadeta Zapała
6 lipca 2020
138
0
Share:
V8 wersja 8.4

V8 wersja 8.4 beta, czyli silnik stanowiący podstawę Node.js, doczekał się kolejnego wydania. Każda kolejna wersja V8 jest wydawana bezpośrednio przed kolejną wersją Chrome Beta. W nowej wersji znajdziemy wiele przydanych nowości dla programistów, w zakresie WebAssembly i JavaScript.

V8 wersja 8.4 beta – Java Script – WeakReferences

JS jest językiem odśmiecania pamięci. Automatycznie przydziela pamięć w trakcie tworzenia obiektów, a gdy nie są już używane – zwalnia ją. Wszystkie referencje w JS, za wyjątkiem WeakMap oraz WeakSet, są silne, a także zapobiegają odmieceniu obiektu referencyjnego. Przykładowo, dopóki globalRef jest osiągalny przez globalny zasięg, ani on, ani funkcja w jego właściwości zwrotnej nie będą gromadzone.

const globalRef = {
  callback() { console.log('foo'); }
};

Teraz programiści JS za pomocą funkcji WeakRef mogą przytrzymać słabe referencje. Obiekty, do których się odwołują, nie zapobiegają ich odśmiecaniu, jeśli także nie są silnie odwoływane. Po pierwsze globalWeakRef gwarantuje, że będzie utrzymany do pierwszego zwoju pętli zdarzeń po jej utworzeniu. Po zwrocie pętli zdarzeń (a właściwie po pierwszej turze), pamięć z obiektami wewnątrz globalWeakRef może być odśmiecona. W przeciwnym razie, obiekty nie są osiągalne.

const globalWeakRef = new WeakRef({
  callback() { console.log('foo'); }
});
(async function() {
  globalWeakRef.deref().callback();
    await new Promise((resolve, reject) => {
    setTimeout(() => { resolve('foo'); }, 42);
  });
  globalWeakRef.deref()?.callback();
})();

JavaScript – finalizatory

Razem z WeakRef pojawiła się funkcja FinalizationRegistry. Dzięki niej programiści rejestrują wywołania zwrotne, po tym jak obiekt jest odśmiecony z pamięci. Tak zwane finalizatory działają w pętli zdarzeń, nigdy nie przerywają synchronicznego wykonywania JS.

Prywatne metody oraz akcesory

W wersji 7.4 V8 pojawiły się prywatne pola. W V8 wersja 8.4 beta są one uzupełnione o obsługę prywatnych metod i akcesorów. Nazwy akcesorów i metod zaczyna się tak jak nazwy pól prywatnych, od #. Tak samo jak prywatnych pól określa się również ich zakres oraz semantykę.

V8 wersja 8.4 beta

Lepszy czas uruchamiania w WebAssembly

W V8 wersja 8.4 beta kompilator WebAssembly obsługuje instrukcje atomowe i operacje pamięci masowej, co oznacza, że czas uruchamiania jest teraz krótszy. Nawet, jeśli korzystamy z nowych dodatków do specyfikacji.

V8 wersja 8.4 beta – poprawa debugowania WebAssembly

Teraz można sprawdzić każdą ramkę WebAssembly , aktywną za każdym razem, gdy programista wstrzyma wykonywanie lub osiągnie punkt przerwania. Poprawa debugowania nastąpiła przez ponowne użycie do niego Liftoff. Wcześniej cały kod z punktami przerwania trzeba było wykonywać w interpreterze WebAssembly. Spowalniało to wykonywanie programu nawet sto razy. Aktualnie traci się prawie jedną trzecią wydajności, ale można w każdym momencie przejść przez kod i go sprawdzić.

TagsJavaScriptV8 EngineV8 wersja 8.4 betaWebassembly

Share:

  • Frontend

    Apollo Client 3.0 z udoskonaloną reaktywnością interfejsu

  • v8 8.7 beta
    Informacje

    Silnik V8 9.0 beta udostępniony

  • FrontendJęzyki programowania

    TypeScript 3.9 rc – niższe czasy kompilacji pakietów

  • 13 kwietnia 2021

    TypeScript 4.3 beta z oddzielnymi typami zapisu

  • 7 kwietnia 2021

    Billboard.js 3.0 z nowym typem świecy

  • 2 kwietnia 2021

    Silnik V8 9.0 beta udostępniony

  • 1 kwietnia 2021

    ReacType 6.0 z nowym dashboardem

  • 29 marca 2021

    Udostępniono Android 12 Developer Preview 2

  • 24 marca 2021

    Git 2.31 dostępny z konserwacją w tle

  • 19 marca 2021

    Relay Hooks – nowy zestaw interfejsów API

  • 18 marca 2021

    Deno 1.8 ze wsparciem interfejsu API WebGPU 

  • 16 marca 2021

    React Native 0.64 z silnikiem Hermes na iOS

  • 9 marca 2021

    Windows Terminal Preview 1.7 z lepszym zarządzaniem oknami

  • 3 marca 2021

    Vite 2.0 wydane z nowymi wtyczkami

  • 25 lutego 2021

    ReacType 5.0 – zmiany we wprowadzaniu komponentów

  • 23 lutego 2021

    Dapr v.1.0 gotowy do fazy produkcji

  • 22 lutego 2021

    ReScript 9.0 z zewnętrzną konfiguracją stdlib

  • 22 lutego 2021

    One UI 3.1 z ciekawymi nowościami dla urządzeń Samsunga

  • 22 lutego 2021

    Windows Terminal Preview 1.6 z nową sekcją ustawień

  • 15 lutego 2021

    Visual Studio Code 1.53 z ulepszeniami debugowania

  • 8 lutego 2021

    Edge 89 beta, Edge Dev 90 i nowości na kanale Canary

  • 2 lutego 2021

    Firefox 85 i Firefox Nightly – nowe wersje przeglądarki Mozilli

  • 29 stycznia 2021

    Billboard.js 2.2.0 z nowymi funkcjami wykresów

  • 26 stycznia 2021

    Kendo UI R1 2021 – nowości dla bibliotek

  • 21 stycznia 2021

    Narzędzie Vno – połączenie Vue i Deno

  • 19 stycznia 2021

    GitHub Enterprise Server 3.0 RC – kandydat do wydania

  • 15 stycznia 2021

    TypeScript 4.2 Beta z ulepszeniami typów krotek

  • 13 stycznia 2021

    Styczniowy Patch Tuesday z luką 0-day

  • 11 stycznia 2021

    Safari Technology Preview 118 dostępne dla programistów

  • 8 stycznia 2021

    Microsoft Launcher na Androida z usprawnionym dotykiem

  • 7 stycznia 2021

    WebStorm 2020.3.1 dostępny dla urządzeń z Apple Silicon

  • 22 grudnia 2020

    ReScript 8.4 z przypiętymi zależnościami

  • 14 grudnia 2020

    Edge 88 beta i przeglądarka na kanale Canary dostępne!

 

 

Jesteśmy pasjonatami najnowszych technologii w świecie programowania. Zbieramy dla Was informacje i porady z całego świata, które sprawią, że Twoja praca stanie się jeszcze bardziej efektywna.

Obserwuj nas codziennie, aby być na bieżąco oraz śmiało udostępniaj nasze posty.

Zespół DevNews

Kategorie

  • Backend
  • Bez kategorii
  • Frontend
  • Gadżety
  • Informacje
  • Języki programowania
  • Narzędzia
  • QA
  • Systemy i przeglądarki

OBSERWUJ NAS

KONTAKT

Chcesz się z nami skontaktować?

Napisz do nas wiadomość: kontakt@devnews.pl

www.devnews.pl | DEVNEWS 2020 | Newsy i ciekawostki ze świata IT