Difference between undefined and undeclared in Javascript

  • In JavaScript, there is a difference between a variable that is undefined and a variable that is undeclared. Understanding the difference can help you write more robust and error-free JavaScript code.
  • An undeclared variable is a variable that has not been declared in the current scope. This means that the variable has not been defined using var, let, or const. When you try to reference an undeclared variable, JavaScript will throw a ReferenceError:

    console.log(foo); // ReferenceError: foo is not defined

  • An undefined variable, on the other hand, is a variable that has been declared but has no value assigned to it. When you reference an undefined variable, JavaScript will not throw an error, but will instead return undefined:

    let foo;
    console.log(foo); // Output: undefined

  • Note that if you try to access a property of an undefined variable, JavaScript will throw a TypeError:

    let obj;
    console.log(obj.foo); // TypeError: Cannot read property 'foo' of undefined

  • In general, it's good practice to always declare your variables using var, let, or const to avoid creating undeclared variables. You can also use the typeof operator to check if a variable is undefined:

    let foo;
    if (typeof foo === 'undefined') {
        console.log('foo is undefined');
    } else {
        console.log('foo is defined');
    }

No comments:

Post a Comment

PHP & Laravel — Zero to Hero Episode 15: Installing Laravel on Windows 11 — Complete Guide

What Are We Doing in This Post? Core PHP is done. Fourteen episodes of solid foundation. Now we install Laravel. But here is the honest trut...