Technical, JavaScript

Data Types and Conditionals in JavaScript

Note: This article was written with the help of AI and is based on materials from The Odin Project

Understanding Data Types and Conditionals in JavaScript

If you’re new to JavaScript, two of the most fundamental concepts you’ll encounter are data types and conditionals. These form the backbone of almost every program you’ll write. In this article, we’ll explore what they are, why they matter, and how to use them effectively—drawing on concepts from The Odin Project’s materials.


1. The Eight Data Types in JavaScript

JavaScript works with a set of predefined data types. These determine the kind of values you can store and manipulate.

Primitive Data Types

Primitive data types are the most basic, immutable types of data in JavaScript. Such as

  1. String – Text values, enclosed in quotes. "Hello world" 'Single quotes work too' `Backticks for templates`
  2. Number – All numeric values, including integers and decimals. 42 3.14
  3. Boolean – Logical values true or false.
  4. Null – Represents “no value” intentionally set by a programmer.
  5. Undefined – A variable that has been declared but not assigned a value.
  6. Symbol – Unique identifiers, often used in advanced coding.
  7. BigInt – For very large integers beyond the safe Number range.

Non-Primitive Data Type

Non-primitive data types in JavaScript are mutable types used to store collections or complex values, such as

  1. Object – Collections of data and more complex entities (arrays, functions, dates, etc.).

2. Strings and Template Literals

JavaScript offers three ways to define strings:

  • Single quotes ('Hello')
  • Double quotes ("Hello")
  • Backticks (`Hello`) – also called template literals

Template literals have two advantages:

  1. Variable interpolation – Insert variables directly: const name = "Alice"; console.log(`Hello, ${name}!`);
  2. Multi-line strings – No need for \n to break lines.

3. Methods

A method is simply a function that belongs to an object or data type. For example:

"hello".toUpperCase(); // "HELLO"
[1, 2, 3].push(4);     // adds 4 to the array

These built-in methods make it easy to work with strings, arrays, and other data types.


4. Logical Operators

Logical operators combine or modify boolean values:

  • AND (&&)true if both conditions are true.
  • OR (||)true if at least one condition is true.
  • NOT (!) – Flips the boolean value.

Example:

const age = 20;
console.log(age > 18 && age < 30); // true

5. Comparison Operators

Used to compare values:

  • === – Strict equality (checks type and value)
  • !== – Strict inequality
  • <, >, <=, >= – Greater/less than comparisons

Example:

5 === "5"; // false (different types)
5 == "5";  // true (loose equality converts types)

Tip: Prefer === and !== to avoid unexpected type coercion.


6. Conditionals

Conditionals control the flow of your program based on conditions.

If…else example:

if (score >= 50) {
  console.log("You passed!");
} else {
  console.log("Try again.");
}

Switch example:

switch (day) {
  case "Monday":
    console.log("Start of the week");
    break;
  case "Friday":
    console.log("Weekend ahead!");
    break;
  default:
    console.log("Midweek");
}

7. Truthy and Falsy Values

In JavaScript, some values are treated as false in boolean contexts:

  • false
  • 0
  • "" (empty string)
  • null
  • undefined
  • NaN

Everything else is truthy.

Example:

if ("Hello") {
  console.log("This runs because 'Hello' is truthy");
}

8. Nesting Conditionals

Conditionals can be placed inside each other for more complex logic:

if (age >= 18) {
  if (hasID) {
    console.log("Entry allowed");
  } else {
    console.log("ID required");
  }
}

While useful, too much nesting can hurt readability—consider logical operators or early returns instead.


Final Thoughts

Mastering data types and conditionals is a cornerstone of learning JavaScript.
They enable you to store information in the right format, make decisions in your code, and control program flow. As you continue through The Odin Project, these basics will serve as the foundation for more advanced topics like loops, functions, and object manipulation.


Resources

Tagged , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.