ECMAScript विशिष्टता में चर की घोषणा और आरंभीकरण के बारे में निम्नलिखित कहा गया है:
एक var कथन उन चरों की घोषणा करता है जो रनिंग एक्ज़ीक्यूशन कॉन्टेक्स्ट के VariableEnvironment के लिए स्कोप्ड होते हैं। Var चर तब बनाए जाते हैं जब उनका समावेश करने वाला लेक्सिकल एनवायरनमेंट इंस्टेंटिएट होता है और बनाए जाने पर undefined से आरंभ किए जाते हैं। [...] एक Initializer के साथ VariableDeclaration द्वारा परिभाषित एक चर को उसके Initializer के AssignmentExpression का मान तब असाइन किया जाता है जब VariableDeclaration निष्पादित होता है, न कि जब चर बनाया जाता है।
उपरोक्त अंतर को परिभाषित करता है:
- सभी चर undefined मान से आरंभ किए जाते हैं।
- चर घोषणाएं उनके लेक्सिकल एनवायरनमेंट के आरंभीकरण पर undefined से आरंभ की जाती हैं।
- यह आरंभीकरण असाइनमेंट के रूप में काम नहीं करता है।