Middle
Jaký je rozdíl mezi host-objekty a nativními objekty v JavaScriptu?
sobes.tech AI
Odpověď od AI
Nativní objekty jsou vestavěné objekty definované standardem ECMAScript. Jsou součástí samotného jazyka JavaScript.
Host-objekty jsou objekty poskytované prostředím běhu JavaScriptu (prohlížeč, Node.js). Nejsou součástí standardu ECMAScript, ale jsou v daném prostředí dostupné.
Příklady:
- Nativní objekty:
Object,Array,Function,String,Number,Boolean,Date,RegExp,Map,Set,Promise,Math,JSON. - Host-objekty (v prohlížeči):
window,document,console,XMLHttpRequest,setTimeout,DOM prvky(napříkladHTMLElement).
Hlavní rozdíly:
| Kritérium | Nativní objekty | Host-objekty |
|---|---|---|
| Definovány standardem | Ano (ECMAScript) | Ne (prostředí běhu) |
| Dostupnost | Dostupné v jakémkoli prostředí podporujícím ECMAScript | Závisí na konkrétním prostředí běhu |
| Příklady | Array, Object, String |
window, document, console (v prohlížeči) |
| Hlavní role | Základní stavební kameny jazyka | Interakce s prostředím (prohlížeč, OS atd.) |
Navíc:
- Host-objekty mohou mít vlastnosti a metody, které se liší nebo dokonce chybí v různých prostředích.
- Chování host-objektů nemusí být plně standardizováno, zatímco chování nativních objektů je jasně popsáno v ECMAScript specifikaci.