ECMAScript विनिर्देश में एक चर की घोषणा और आरंभीकरण के बारे में निम्नलिखित कहा गया है -
A var statement declares variables that are scoped to the running execution context’s VariableEnvironment. Var variables are created when their containing Lexical Environment is instantiated and are initialized to undefined when created. [...] A variable defined by a VariableDeclaration with an Initializer is assigned the value of its Initializer’s AssignmentExpression when the VariableDeclaration is executed, not when the variable is created.
उपरोक्त अंतर को परिभाषित करता है:
- सभी वेरिएबल को अपरिभाषित मान के साथ इनिशियलाइज़ किया गया है।
- वैरिएबल डिक्लेरेशन को उनके लेक्सिकल एनवायरनमेंट के इनिशियलाइज़ेशन पर अपरिभाषित के साथ इनिशियलाइज़ किया जाता है।
- यह इनिशियलाइज़ेशन एक असाइनमेंट के रूप में काम नहीं करता है।