DEV Community

Gurjeet Singh Virdee
Gurjeet Singh Virdee

Posted on

Understanding Variables

Variables are the backbone of any programming language, and JavaScript is no exception. They are containers for storing data values, making it easier to manipulate and work with data throughout your code. Whether you're a beginner or a professional, mastering the fundamentals of variables is crucial for writing clean and efficient JavaScript code.

What is a Variable?

A variable in JavaScript is a named storage for data. It allows you to save a value and refer to it later in your program.

Key Characteristics:

  • Name: A label used to reference the variable (e.g. age, username).
  • Value: The data assigned to the variable (e.g. 25, John Doe).
  • Type: The kind of data stored, such as a number, string, boolean, etc.

Declaring Variables

In JavaScript, you can declare variables using the keywords var, let, or const

1. var

The var keyword was the original way to declare variables in JavaScript. It is now less commonly used due to its function-scoping and potential for unexpected behaviours.
Example:

var message = "Hello world!";
console.log(message);

// Hello, world!
Enter fullscreen mode Exit fullscreen mode

2. let

Introduced in ES6 (2015), let is block-scoped and is preferred for most cases where the variable's value needs to change.
Example:

let age = 30;
age = 31; // Updating the value
console.log(age); 

// 31
Enter fullscreen mode Exit fullscreen mode

3. const

const is also block-scoped but is used for variables whose values should not change.
Example:

const pi = 3.14;
// pi = 3.15; // TypeError: Assignment to constant variable
console.log(pi);

// 3.14
Enter fullscreen mode Exit fullscreen mode

Rules for Naming Variables

  1. Must begin with a letter, _, or $(e.g., name, _id, $amount).
  2. Cannot start with a number.
  3. Case-sensitive (e.g., Name and name are different).
  4. Cannot use reserved keywords like if, while, function, etc.

Example:

let firstName = "Alice";
let $price = 50;
let _discount = 10;
console.log(firstName, $price, _discount);

// Alice 50 10
Enter fullscreen mode Exit fullscreen mode

Data Types of Variables

JavaScript variables can hold different types of data:

1. Primitive Data Types

  • Number: e.g., 42, 3.14
  • String: e.g., 'Hello', "World"
  • Boolean: e.g., true, false
  • Undefined: A variable declared but not assigned a value.
  • Null: Represents an intentional absence of any value.
  • Symbol: Unique and immutable values.

Example:

let score = 100; // Number
let name = "John"; // String
let isActive = true; // Boolean
let result; // Undefined
let emptyValue = null; // Null
console.log(score, name, isActive, result, emptyValue);

// 100 John true undefined null
Enter fullscreen mode Exit fullscreen mode

2. Complex Data Types

  • Objects: Collections of key-value pairs.
  • Arrays: Ordered lists of values.

Example:

let user = { name: "Alice", age: 25 }
let colors = ["red", "green", "blue"];
console.log(user, colors);

// {name: 'Alice', age: 25} ['red', 'green', 'blue']
Enter fullscreen mode Exit fullscreen mode

Scope of Variables

  1. Global Scope: Accessible anywhere in the code.
  2. Function Scope: Variables declared with var inside a function are confirmed to that function.
  3. Block Scope: Variables declared with let or const are confirmed to the block they are declared in.

Example:

function testScope() {
  var x = 10; // Function-scoped
  if (true) {
    let y = 20; // Block-scoped
    const z = 30; // Block-scoped
    console.log(x, y, z);

    // 10 20 30 
  }
  console.log(x);  // 10
  // console.log(y);  // Error: y is not defined
}
testScope();
Enter fullscreen mode Exit fullscreen mode

Best Practices

  1. Use const by default; switch to let if the value needs to change.
  2. Avoid using var unless necessary for legacy code.
  3. Choose meaningful variable names (e.g., userAge instead of x).
  4. Use camelCase for naming variables.
  5. Initialize variables when declaring them.

Example:

const maxScore = 100;
let currentScore = 75;
console.log(`You scored ${currentScore} out of ${maxScore}.`);

// You scored 75 out of 100.
Enter fullscreen mode Exit fullscreen mode

Conclusion

Variables are essential in JavaScript for storing and manipulating data. Understanding their declaration, scope, and best practices ensures clean and efficient coding. Start with let and const, use meaningful names, and always be mindful of the scope. Mastering these basics will set a solid foundation for more advanced JavaScript concepts.

Happy coding! 💫

Top comments (0)