JavaScript · Senior · Запитання 26 з 75
Чому додавання властивостей об'єктам у різному порядку може сповільнити код у V8?
- ✓Правильна відповідь: Об'єкти отримують різні приховані класи й гірше оптимізуються
- 2V8 сортує властивості за абеткою за кожного звернення до об'єкта
- 3Порядок властивостей ніяк не впливає на продуктивність рушія
Пояснення
Рушій оптимізує доступ до властивостей за «формою» об'єкта (hidden class / shape). Якщо об'єкти одного типу створюються з різним порядком або набором полів, місце виклику бачить багато форм і втрачає швидкий шлях. Ініціалізуйте всі поля одразу в конструкторі й не видаляйте їх через delete.