V moderních prohlížečích, jako je Chrome, Firefox či Edge skutečně není hodnota proměnné undefined definována.
undefined = 1; //vrátí 1 (ale nezmění!) typeof undefined; //vrátí "undefined"
To je proto, že undefined
již není globální proměnná (tedy window.undefined
), ale jde o speciální konstrukci (podobně jako třeba return;
nebo continue;
). Dokonce i hodnota window.undefined
je vždy nedefinována, i když do ní něco přiřadíte.