Home/Blog/JavaScript tutorial for beginners
Home/Blog/JavaScript tutorial for beginners

JavaScript tutorial for beginners

12 min read
Apr 26, 2025
content
What is JavaScript?
JavaScript input/output
JavaScript input
JavaScript output
What are JavaScript variables?
Declaration and reassignment
Input and output variables
Operations on variables
Variable types
Typecasting variables
Constants
JavaScript data types
Primitive data types
Reference data types
JavaScript arrays
JavaScript objects
JavaScript sets
JavaScript comments
Why are comments important?
Single-line comments
Inline comments
Multi-line comments
JavaScript booleans
The Boolean() method
Evaluating expressions
Booleans as numbers
JavaScript operators
Arithmetic operators
Assignment operators
Comparison operators
Logical operators
Identity operators
JavaScript loops
JavaScript for loops
JavaScript while loops
Loop control statements: break, continue, pass
JavaScript functions
Declaring and calling functions
Functions with parameters and return values
Arrow functions in JavaScript
Local vs. global variables in JavaScript
Local Variables
Global variables
Final word

Ever clicked a button on a website and seen something change instantly? That magic happens because of JavaScript! Have you ever wanted to build your website, add cool animations, or create a simple game? JavaScript makes all of this possible—even if you‘ve never written a single line of code before! It’s one of the easiest and most powerful programming languages, and it’s used everywhere on the internet.

From small projects to big tech companies like Google, Facebook, and Netflix, JavaScript powers the web. Whether you want to become a Javascript developer or explore coding as a hobby, learning JavaScript opens up endless opportunities.

Let’s start by understanding what JavaScript is and its importance.

What is JavaScript?#

JavaScript is the language of the web. If you’ve ever seen pop-ups, interactive forms, or animations on a web page, JavaScript is behind it.

Here’s why JavaScript is a great choice for beginners:

  • Beginner-friendly: JavaScript is easy to learn because it runs right inside your web browser—no setup needed! You can start coding instantly.

  • In high demand: Tech companies love JavaScript! It’s used in web development, mobile apps, and artificial intelligence. Learning it can help you land a job.

  • Used everywhere: Websites, mobile apps, games, chatbots, and even smart home devices use JavaScript. No matter what interests you, JavaScript has a place for you.

Learn JavaScript

Cover
Learn JavaScript

JavaScript is a versatile language essential for web development, working alongside HTML and CSS to build both simple and complex web applications. This course offers a comprehensive introduction to JavaScript for beginners, starting with fundamental concepts like problem-solving and simple JavaScript programs. Through interactive exercises, challenges, and quizzes, learners will master control structures, loops, strings, arrays, and functions. By the end of this course, you'll have solid problem-solving skills, a deep understanding of JavaScript programming, and practical experience in writing clean, efficient code. This knowledge will prepare you for a successful career as a JavaScript developer and significantly enhance your employability in the tech industry.

8hrs
Beginner
4 Challenges
4 Quizzes

JavaScript input/output#

Imagine you’re at a coffee shop, ordering your favorite drink. You tell the barista your order (input), and after a few moments, they hand you the drink (output).

This is exactly how JavaScript handles input and output—it allows users to enter data, process it, and then display the result.

JavaScript input#

When you order coffee, you provide details like the type, size, and customizations. In JavaScript, we use the prompt() function to collect input from the user:

let coffeeType = prompt("What type of coffee would you like?");
console.log("You ordered a " + coffeeType + "!");

As a barista waits for your response before preparing your drink, JavaScript waits for user input before continuing.

JavaScript output#

Once your coffee is ready, the barista calls out your name and hands you the drink. In JavaScript, we use the console.log() function to display messages, results, or calculations:

console.log("Your coffee is ready! Enjoy ☕");

This is how JavaScript communicates results back to the user!

Task: Modify the code to print a personalized message. Change "Your coffee is ready! Enjoy ☕" to include the customer’s name, such as: "Emma, your coffee is ready! Enjoy ☕".

What have you learned?

  • JavaScript input

  • JavaScript output

What are JavaScript variables?#

Meet Alex and his backpack

Alex, a student, carries a digital backpack to school. In this backpack, he keeps notebooks, pens, and snacks. Just like Alex organizes his belongings, JavaScript uses variables to store and manage information.

A variable in JavaScript is like a labeled pocket in Alex’s backpack. Each pocket holds specific items, such as:

  • A notebook labeled "mathNotes" (stores math-related notes)

  • A water bottle labeled "water" (stores drinking water)

  • A lunchbox labeled "lunch" (stores food)

Similarly, in JavaScript, variables hold different types of data:

let mathNotes = "Algebra and Geometry"; // String (text)
let water = 500; // Number (milliliters)
let lunch = "Sandwich"; // String (text)

Declaration and reassignment#

Alex can replace his notebook with a new one when the old one is full. Similarly, in JavaScript, you can reassign a variable to store a new value:

let lunch = "Sandwich";
console.log(lunch); // Output: Sandwich
lunch = "Pasta"; // Changing the value
console.log(lunch); // Output: Pasta

JavaScript variables are flexible—just like Alex’s backpack contents can change!

Task: Change the value from pasta to pizza on line 4, then click the “Run” button to see the updated output!

Input and output variables#

When Alex buys a snack, he updates his backpack. He can ask his friends for suggestions and then add them. In JavaScript, we can take user input and store it in a variable:

let snack = prompt("What snack should Alex add to his backpack?");
console.log("Alex added " + snack + " to his backpack!");

Operations on variables#

Alex can combine things in his backpack, like adding two snacks together.
In JavaScript, we can perform operations on variables:

let apples = 2;
let bananas = 3;
let totalFruits = apples + bananas;
console.log("Total fruits in Alex’s backpack: " + totalFruits);

Task: Add orange with a quantity of 5 and include it in totalFruits. Click “Run” to check the updated total!

Variable types#

Alex organizes his backpack by checking if an item is a notebook, a snack, or a water bottle.
Similarly, in JavaScript, we can check a variable’s data type using typeof:

let notebook = "Science Notes";
let water = 500;
let isLunchPacked = true;
console.log(typeof notebook); // Output: string
console.log(typeof water); // Output: number
console.log(typeof isLunchPacked); // Output: boolean

Typecasting variables#

Sometimes, Alex wants to measure his water in liters instead of milliliters.
In JavaScript, we can convert data types using typecasting:

let waterMl = "500"; // String
let waterL = Number(waterMl) / 1000; // Convert to number
console.log(waterL + " liters"); // Output: 0.5 liters

Like Alex changes units, JavaScript allows us to convert numbers to strings, integers to floats, and more!

Constants#

Alex’s school ID number stays the same—it never changes.
In JavaScript, we use constants (declared with const) for values that should not change:

const SCHOOL_ID = "ALEX12345";
console.log("Alex’s school ID: " + SCHOOL_ID);
// SCHOOL_ID = "NEW_ID"; // ❌ Error! You cannot change a constant.

Warning: JavaScript enforces constants, meaning they cannot be reassigned after being declared.

Task: Uncomment line 4 and observe the error when changing a constant in JavaScript.

What have you learned?

  • Variables

  • Declaration and reassignment

  • Input and output variables

  • Operations on variables

  • Checking variable type

  • Type casting variables

  • Constants

JavaScript data types#

Meet Jake and his smartwatch

Jake is a fitness enthusiast who tracks his workouts using a smartwatch. His watch records various data types, including his step count, heart rate, exercise routines, and even saved workout preferences.

Like Jake’s smartwatch organizes different fitness data types, JavaScript provides different data types to efficiently store and manage information.

Think of Jake’s smartwatch as JavaScript’s data types:

  • Numbers track his steps and heart rate.

  • Strings store his workout names.

  • Booleans check if he has met his daily goal.

  • Arrays store his weekly workout schedule.

  • Objects hold detailed information about each workout.

  • Sets ensure he doesn’t log duplicate exercises.

Let’s explore these data types using Jake’s fitness tracking.

Primitive data types#

Primitive data types store individual values, like Jake’s smartwatch records single data points.

Type

Example

Jake’s Use Case

Number

let steps = 10000;

Tracks daily step count.

String

let exercise = "Running";

Stores workout names.

Boolean

let goalMet = true;

Checks if Jake reached his goal.

Undefined

let calories;

Represents missing data.

Null

let sleepHours = null;

Stores empty or unknown values.

Example in JavaScript

let steps = 10000;
let exercise = "Running";
let goalMet = true;
console.log(`Jake completed ${steps} steps today during ${exercise}. Goal achieved: ${goalMet}`);

Task: Jake just completed his run! Try changing "Running" to "Cycling" and see the updated output.

Reference data types#

Jake’s smartwatch doesn’t just track single values—it organizes multiple workout records, schedules, and exercise details. For this, JavaScript provides reference data types.

Type

Example

Jake’s Use Case

Array

let workouts = ["Running", "Cycling", "Swimming"];

Stores different types of workouts.

Object

let profile = {name: "Jake", age: 30, goal: "Stay Fit"};

Holds Jake’s fitness details.

Set

let uniqueExercises = new Set(["Push-ups", "Squats", "Push-ups"]);

Removes duplicate exercises.

JavaScript arrays#

Jake follows a weekly fitness routine, which he stores in an array. Arrays help store ordered lists of data.

Example in JavaScript

let workouts = ["Running", "Cycling", "Swimming"];
console.log(`Jake’s workout plan includes: ${workouts}`);

Task: Jake wants to add "Yoga" to his workout plan. Modify the array to include "Yoga" and check the updated plan.

JavaScript objects#

Jake’s smartwatch logs detailed workout information, such as duration, calories burned, and heart rate. JavaScript objects store data as key-value pairs.

Example in JavaScript

let workoutStats = {
exercise: "Running",
duration: 30,
caloriesBurned: 250
};
console.log(`${workoutStats.exercise} burned ${workoutStats.caloriesBurned} calories in ${workoutStats.duration} minutes.`);

Task: Jake just finished cycling for 40 minutes, burning 320 calories. Update the object with these new values and check the updated stats.

JavaScript sets#

Jake wants to track unique exercises, ensuring no duplicates are logged. JavaScript sets automatically remove duplicate values.

Example in JavaScript

let uniqueExercises = new Set(["Push-ups", "Squats", "Push-ups"]);
console.log(`Unique exercises Jake performed:`, uniqueExercises);

Task: Jake added "Plank" to his routine. Modify the set to include "Plank" and see the updated list.

What have you learned?

  • JavaScript data types

  • Primitive data types

  • Reference data types

  • Arrays, objects, and sets

JavaScript comments#

Meet Jake, the Game Developer

Jake is a game developer working on an exciting new adventure game. His game includes player movement, enemy AI, and scoring systems. To keep his code organized and easy to understand, Jake uses comments in JavaScript—just like game developers leave notes in design documents.

Let’s explore JavaScript comments by stepping into Jake’s world!

Why are comments important?#

Imagine Jake works on a game today but revisits the code after months—will he remember every detail?

Comments help Jake and his team:

  • Understand complex logic quickly

  • Collaborate with others effectively

  • Debug and update code efficiently

JavaScript provides different types of comments to keep code readable and structured.

Single-line comments#

Single-line comments help Jake briefly explain what each part of the game does.

Example in JavaScript

// This line moves the player forward
player.moveForward();
Inline comments#

Inline comments provide quick explanations next to the code without adding extra lines.

Example in JavaScript

let score = 100; // Stores the player’s current score
Multi-line comments#

Jake uses multi-line comments to document complex game logic properly when he writes complex game logic.

Example in JavaScript

/*
This function handles enemy AI behavior:
1. Detects player position
2. Moves toward the player
3. Attacks if within range
*/
function enemyAI() {
// Code for enemy behavior
}

What have you learned?

  • JavaScript comments

  • Single-line comments

  • Inline comments

  • Commenting code

  • Multi-line comments

JavaScript booleans#

Meet Alex’s smart home

Alex’s smart home system controls lights, temperature, and security. It makes decisions based on true/false conditions, just like JavaScript’s boolean values (true or false).

Let’s explore JavaScript Booleans by stepping into Alex’s world!

Booleans are like the ON/OFF switches in Alex’s smart home.

  • If the lights are ON, the system sees it as true.

  • If the lights are OFF, the system sees it as false.

Example in JavaScript

let lightsOn = true; // Lights are ON
let doorsLocked = false; // Doors are not locked

Like Alex’s smart home system, booleans help make decisions in JavaScript.

The Boolean() method#

The Boolean() method converts values into true or false.
Alex’s smart home checks whether it’s night before turning on the lights.

Example in JavaScript

console.log(Boolean(10)); // true
console.log(Boolean(0)); // false
console.log(Boolean("Hello")); // true
console.log(Boolean("")); // false

The Boolean() function helps check conditions like a home automation system!

Task: Try passing different values (numbers, strings, and empty values) into Boolean() and predict whether they return true or false.

Evaluating expressions#

Alex’s smart home decides when to turn on heating or lock doors.
Booleans help by evaluating expressions using comparison operators (>, <, ==, !=).

Example in JavaScript

let temperature = 15;
let isCold = temperature < 20; // true
console.log(isCold);

The system evaluates conditions to take action—just like JavaScript Booleans!

Task: Change the temperature value and check when isCold becomes false.

Booleans as numbers#

In JavaScript, true is 1, and false is 0.
Alex’s smart home uses Booleans in calculations, like estimating electricity usage.

Example in JavaScript

console.log(true + true); // 2
console.log(false + 1); // 1
console.log(true * 5); // 5

This works because Booleans behave like numbers in JavaScript.

Task: Alex is checking how many devices are currently powered on. In JavaScript, true acts as 1, and false acts as 0. Predict total number of powered devices and verify your answer by running the code.

What have you learned?

  • JavaScript booleans

  • The Boolean() method

  • Evaluating expressions

  • Booleans as numbers

JavaScript operators#

Meet Mia’s coffee shop

Mia owns a small coffee shop and manages orders, pricing, and customer discounts. JavaScript operators help Mia calculate costs, compare prices, and check loyalty memberships.

Let’s explore JavaScript operators using Mia’s coffee shop as an example.

Arithmetic operators#

Mia uses arithmetic operators (+, -, *, /, %, **) to calculate customer bills.

Example in JavaScript

let coffeePrice = 5;
let cakePrice = 7;
let totalBill = coffeePrice + cakePrice;
console.log(totalBill);

Assignment operators#

Mia needs to track coffee bean stock using assignment operators (=, +=, -=, *=, etc.).

Example in JavaScript

let coffeeStock = 100;
coffeeStock -= 5; // Sold 5 cups
console.log(coffeeStock); // 95

Task: Predict how many cups are left after selling 10 more cups and check your answer.

Comparison operators#

Mia offers discounts for orders above $10 using comparison operators (>, <, >=, <=, ==, !=).

Example in JavaScript

let orderAmount = 12;
let isEligibleForDiscount = orderAmount > 10;
console.log(isEligibleForDiscount); // true

Note:
In the statement on line 2, two operators are used:

  • Comparison operator (>): Checks if orderAmount exceeds 10, returning true or false.

  • Assignment operator (=): Assigns the comparison result (true or false) to the variable isEligibleForDiscount.

Logical operators#

Mia offers a special deal if a customer buys both coffee and cake. Logical operators (&&, ||, !) help.

Example in JavaScript

let boughtCoffee = true;
let boughtCake = false;
let getsDeal = boughtCoffee && boughtCake;
console.log(getsDeal); // false

Task: Modify boughtCake = true and see how the result changes.

Identity operators#

Mia’s shop accepts different payment methods. She must check if a customer paid with cash or card using identity operators (===, !==).

Example in JavaScript

let paymentMethod = "card";
console.log(paymentMethod === "cash"); // false

Task: Change paymentMethod to "cash" and predict the result.

What have you learned?

  • JavaScript operators

  • Arithmetic operators

  • Assignment operators

  • Comparison operators

  • Logical operators

  • Identity operators

JavaScript loops#

Emma’s morning routine

Imagine Emma has a morning checklist:

  • Wake up

  • Make coffee

  • Read emails

  • Go for a jog

She follows these steps every day—just like a loop in JavaScript! JavaScript loops automate repetitive tasks, making them efficient and error-free.

JavaScript for loops#

A for loop repeats actions a fixed number of times—like checking off each task on Emma’s checklist.

canvasAnimation-image
1 / 8

Example in JavaScript

let tasks = ["Wake up", "Make coffee", "Read emails", "Go for a jog"];
for (let i = 0; i < tasks.length; i++) {
console.log(tasks[i]);
}

How it works:

  • The loop goes through each item in tasks.

  • It prints every task until the list is complete.

JavaScript while loops#

A while loop keeps running until a condition is met—like sipping coffee until the cup is empty.

Example in JavaScript

let coffeeSips = 5;
while (coffeeSips > 0) {
console.log(`Sipping coffee... ${coffeeSips} sips left`);
coffeeSips--;
}
console.log("Coffee finished! ☕");

How it works:

  • The loop runs until coffeeSips reaches 0.

  • Each sip reduces the count, and when it’s gone, the loop stops.

Loop control statements: break, continue, pass#

You can control loops using:

  • break: Stops the loop early.

  • continue: Skips a step but keeps looping.

  • pass: Not needed in JavaScript (use comments instead).

Example in JavaScript

let emails = ["Work update", "Spam offer", "Meeting invite", "Newsletter"];
for (let email of emails) {
if (email === "Spam offer") {
console.log("Spam detected! Stopping email check.");
break;
}
console.log(`Reading: ${email}`);
}

What have you learned?

  • JavaScript for loops

  • JavaScript while loops

  • Loop control statements (break, continue, pass)

JavaScript functions#

Meet Emma, the cafe owner
Emma runs a cozy little café. She follows the same routine to make coffee and serve customers every morning. Instead of remembering every step, she follows a recipe.

JavaScript functions work the same way! They store reusable blocks of code so we don’t have to repeat the same steps repeatedly. Let’s explore JavaScript functions using Emma’s café as an example!

A function in JavaScript is like a predefined recipe that performs a specific task. Instead of writing the same code multiple times, we define a function once and use it whenever needed.

Example: Emma’s coffee recipe

function makeCoffee() {
console.log("Boil water");
console.log("Brew coffee");
console.log("Pour into cup");
}
makeCoffee(); // Calling the function

How it works:

  • The makeCoffee() function stores the steps for making coffee.

  • Calling makeCoffee(); executes the function.

Task: Write a function makeTea() that logs the steps for preparing tea.

Declaring and calling functions#

We can write functions to perform various tasks like Emma preparing different drinks.

function greetCustomer(name) {
console.log("Welcome to Emma’s Café, " + name + "!");
}
greetCustomer("Alex"); // Output: Welcome to Emma’s Café, Alex!

How it works:

  • The greetCustomer(name) function accepts a customer’s name and displays a greeting.

  • Calling greetCustomer("Alex") prints a personalized message.

Task: Modify greetCustomer() to include the customer’s favorite drink in the message.

Functions with parameters and return values#

Sometimes, a function needs inputs (parameters) to customize its behavior.

function calculateBill(price, quantity) {
let total = price * quantity;
return total; // Returns the total price
}
let bill = calculateBill(5, 2);
console.log("Total Bill:", bill); // Output: Total Bill: 10

How it works:

  • The function takes price and quantity as inputs.

  • It calculates and returns the total bill.

Arrow functions in JavaScript#

JavaScript provides a shorter way to write functions using arrow functions.

const add = (a, b) => a + b;
console.log(add(3, 7)); // Output: 10

How it works:

  • The arrow function add performs addition in a single line.

  • It’s a concise way to define simple functions.

Task: Rewrite calculateBill() as an arrow function.

Local vs. global variables in JavaScript#

Emma organizes her café supplies—some are used only in the kitchen, while others are available throughout the café.

JavaScript handles variables the same way:

  • Local variables exist only inside a function.

  • Global variables can be accessed anywhere in the program.

Local Variables#
function makeOrder() {
let order = "Latte"; // Local variable
console.log("Order inside function:", order);
}
makeOrder();
// console.log(order); // ❌ Error! 'order' is not accessible outside the function

How it works:

  • order is a local variable, meaning it only exists inside makeOrder().

  • We get an error if we try to access it outside the function.

Task: Uncomment the last line and run the code to see the error caused by local scope.

Global variables#
let cafeName = "Emma’s Café"; // Global variable
function showCafeName() {
console.log("Welcome to", cafeName); // Accessing global variable
}
showCafeName(); // Output: Welcome to Emma’s Café
console.log("Café Name:", cafeName); // Output: Café Name: Emma’s Café

How it works:

  • cafeName is a global variable that can be used inside and outside functions.

Task: Try changing the value of cafeName inside showCafeName().

What have you learned?

  • What functions are and why do we use them

  • Declaring and calling functions

  • Functions with parameters and return values

  • Arrow functions

  • Local and global variables in functions

  • Function scope and closures

Final word#

You are now one step closer to mastering Javascript!

If you’re ready to choose your career path after learning the basics of JavaScript, take a look at these Javascript courses ready to guide you step by step:

Frequently Asked Questions

How can I teach myself JavaScript?

You can learn JavaScript by starting with the basics, such as variables, functions, and loops, and then applying your knowledge through hands-on projects. If you aim to become a web or full stack developer, our career path will guide you from basics JavaScript to building complete applications.

Is JavaScript easy to learn?

Can I learn JavaScript in 2 hours?

Is JavaScript harder than C++?


Written By:
Muhammad Usama

Free Resources