Middle
Care este diferența dintre obiectele gazdă și obiectele native în JavaScript?
sobes.tech AI
Răspuns de la AI
Obiectele native sunt obiecte încorporate definite de standardul ECMAScript. Ele fac parte din limbajul JavaScript în sine.
Obiectele gazdă sunt obiecte furnizate de mediul de execuție JavaScript (browser, Node.js). Nu fac parte din standardul ECMAScript, dar sunt disponibile în acest mediu.
Exemple:
- Obiecte native:
Object,Array,Function,String,Number,Boolean,Date,RegExp,Map,Set,Promise,Math,JSON. - Obiecte gazdă (în browser):
window,document,console,XMLHttpRequest,setTimeout,elemente DOM(de exemplu,HTMLElement).
Diferențe principale:
| Criteriu | Obiecte native | Obiecte gazdă |
|---|---|---|
| Definite de standard | Da (ECMAScript) | Nu (mediu de execuție) |
| Disponibilitate | Disponibile în orice mediu care suportă ECMAScript | Depinde de mediul de execuție specific |
| Exemple | Array, Object, String |
window, document, console (în browser) |
| Rol principal | Blocuri de construcție de bază ale limbajului | Interacțiune cu mediul (browser, OS etc.) |
În plus:
- Obiectele gazdă pot avea proprietăți și metode care diferă sau chiar lipsesc în medii diferite.
- Comportamentul obiectelor gazdă poate să nu fie complet standardizat, în timp ce comportamentul obiectelor native este clar definit în specificația ECMAScript.