JavaScript · Senior · Pytanie 26 z 75
Dlaczego dodawanie właściwości do obiektów w różnej kolejności może spowolnić kod w V8?
- ✓Poprawna odpowiedź: Obiekty dostają różne ukryte klasy i gorzej się optymalizują
- 2V8 sortuje właściwości alfabetycznie przy każdym dostępie do obiektu
- 3Kolejność właściwości w ogóle nie wpływa na wydajność silnika
Wyjaśnienie
Silnik optymalizuje dostęp do właściwości według „kształtu” obiektu (hidden class / shape). Jeśli obiekty jednego typu są tworzone z różną kolejnością lub zestawem pól, miejsce wywołania widzi wiele kształtów i traci szybką ścieżkę. Inicjalizuj wszystkie pola od razu w konstruktorze i nie usuwaj ich przez delete.