Sobes.tech
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říklad HTMLElement).

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.