Initialization in JavaScript

What does it mean to initialize a variable in JavaScript? Does it mean to declare a variable and assign it to a value at the same time? or does it mean to just assign the variable to an initial value (not necessarily the same time as it is declared) ?

Yes. You can declare a variable without initializing it:

var x;
// or ...
let y;

Or you can initialize it at the same time:

var x = 1;
// or ...
let y = 2;

If you don’t initialize it, then it will be undefined until changed. Changing it later is not initialization. Note that const variables must always be initialized because they cannot be changed/reassigned later.

1 Like

So if I am following you well, me declaring a variable on a line and assigning it to a value on a different line, the initial value of the variable will be automatically set to (undefined) on the same line I declared it and the line of assigning is just changing the initial value ?

Correct.

let x; // <-- undefined after this line
x = 1; // <-- was undefined, not it is defined

Yes. Every variable has to have a value. JS has the undefined value for things that are not initialized. True, you can also change it to undefined:

let x = 1;     // <-- initialized
x = undefined; // <-- changed to undefined

You can do that - in JS, undefined is a value like any other. But many of us would avoid that, reserving undefined for things that were not initialized and using null when we want a variable to not have a set value. Most languages (afaik) don’t even have undefined.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.