Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
SquirrelFish: reprezentace hodnot JavaScriptu a virtuální stroj

David Majda aura:98
23. 12. 2008 16:30

Re: Datové typy

celé vlákno

Podle specifikace ECMA-262 (konkrétně podle úvodu kapitoly 8) je to skutečně tak, jak píšu:

A value is an entity that takes on one of nine types. There are nine types (Undefined, Null, Boolean, String, Number, Object, Reference, List, and Completion). Values of type Reference, List, and Completion are used only as intermediate results of expression evaluation and cannot be stored as properties of objects.

Jiná věc je, co vrací operátor typeof. A zde je pravda, že pro typ Null vrací "object" a pro funkce vrací "function", byť jsou to formálně hodnoty typu Object. Toto chování je specifikováno v ECMA-262 v odstavci 11.4.3.

Při popisu jazyka obecně vycházím ze specifikace ECMAScriptu, ne z konkrétních implementací a jejich reprezentací. Ve chvíli, kdy v sérii článků píšu o více implementacích, není myslím jiný přístup schůdný.