Full Stack Camp
145 subscribers
8 photos
16 files
89 links
Fullstack Camp | Learn. Build. Launch.
Welcome to the ultimate tech adventure!
Join us for a hands-on journey through HTML, CSS, JavaScript, React, Node.js, Express & MongoDB — all in one place.
Download Telegram
Week 3 Day 4 JavaScript Lesson:

  🎉 Hey wonderful campers!

Welcome to Week 3, Day 4 of our exciting JavaScript journey! 🌍
We’re now stepping deeper into the world of interactivity and logic—where our code starts talking to users and making decisions repeatedly. 😮
So, buckle up, get comfy, and let’s learn some real coding superpowers today! 🚀💻

🧾 Today’s Lesson Outline:
1. alert() – Show Messages to the User
2. What is a Loop? Why do We Need It?
3. while Loop
4. do...while Loop
5. break and continue
6. Combining Loops with if Statements

🗨️ 1. alert() — Pop-up Messages 💬

🔹 What is alert()?
alert() is a built-in JavaScript function that shows a pop-up box with a message. It’s a simple way to talk to the user.

alert("Hello, Campers! Welcome to JavaScript!");


🧠 Analogy:
Imagine knocking on someone’s door and shouting something through the window — you don’t wait for an answer, just say it and leave. That’s alert()! 💬🚪

🧪 More Examples:

let name = "Kebede";
alert("Hi " + name + ", welcome to the camp! 😎");

let score = 95;
alert("Your score is: " + score);


You can use alert()  to show results to users like:
➤➤Converted temperatures 🌡️
➤➤Final grades 📝
➤➤Confirmation messages

🔁 2. What is a Loop? Why Do We Need It?

Sometimes we need to do the same task many times.
🧠 Analogy:
Imagine you want to clap your hands 10 times 👏. You could write:
console.log("Clap!"); console.log("Clap!"); console.log("Clap!"); ...

But that’s tiring and repetitive. Instead, we use a loop!
A loop is like saying:

"As long as this condition is true, keep repeating this code."


🔄 3. while Loop – Repeat While a Condition is True

🧾 Syntax:

while (condition) { // code to run }

💡 Example:

let count = 1;
while (count <= 5) { console.log("Count is: " + count); count++; }



🧠 Explanation:
The loop starts with count = 1.
It checks count <= 5 — if true, it runs the block.
count++ increases count by 1.
When count becomes 6, the condition is false, and the loop stops.

🚨 Infinite Loop Warning!
If you forget to change the condition, it will run forever!


let i = 1; while (i <= 5)
{ console.log("This will never stop 😨"); // missing i++ }



Real-Life Example:

let bottles = 3;
while (bottles > 0) { alert("Drink a bottle. " + bottles + " left."); bottles--; }



🔁 4. do...while Loop — Run First, Then Check

🔹 Syntax:
do { // code to run } while (condition);

💡 Example:

let x = 1;
do { console.log("x is: " + x); x++; } while (x <= 3);


📌 Difference from while:
do...while runs the code at least once, even if the condition is false!

let y = 10;
do { console.log("This runs once even if y > 5"); } while (y < 5);


🧨 5. break and continue in Loops

break — Stop the loop early

let num = 1;
while (num <= 10) { if (num === 5) { break; // stops when num is 5 }
console.log("Number: " + num); num++; }


🧠 Use break when you want to escape a loop.

continue — Skip one round, continue with the rest

let n = 0;
while (n < 5) { n++; if (n === 3) { continue; // skips 3 }
console.log(n); // prints 1, 2, 4, 5 }


📌 Use continue to skip a step inside the loop.

🔗 6. Using if Inside Loops 💡

You can combine loops and conditions!
💡 Example 1: Print even numbers only

let i = 1;
while (i <= 10) { if (i % 2 === 0) { console.log(i + " is even"); } i++; }



💡 Example 2: Countdown with alert

let seconds = 5;
while (seconds > 0) { alert(" Time left: " + seconds + " seconds"); seconds--; }
alert(" Time's up!");



🧠 Summary for Today
You learned how to:
Use alert() to communicate with the user
Create loops with while and do...while
Break out or skip parts of a loop with break and continue
Combine loops with conditions to write smart, repeating code
🚀 Today’s JavaScript Challenge (Week 3 Day 4)
To help you practice what you’ve learned, here are 4 awesome mini-challenges.

👉 Choose any 2 that you like and give them a try!

💡 1) Skip 7 from 1–20
Print all numbers from 1 to 20, but skip number 7. 😎
Hint:
Use a while or do...while loop. Inside the loop, use an if condition.

💡 2) Multiples of 3 (from 1 to 30)
Print all numbers from 1 to 30 that are divisible by 3.
Hint:
Use number % 3 === 0 to check.

💡 3) Even or Odd Checker
Print numbers from 1 to 15. For each number, print whether it's "Even" or "Odd".
Hint:
Use if (number % 2 === 0) to check even. Else, it’s odd!

💡 4) FizzBuzz Lite
Print numbers from 1 to 20.
But:
➤If the number is divisible by 3 → print “Fizz”
➤If divisible by 5 → print “Buzz”
➤If divisible by both → print “FizzBuzz”
➤Otherwise, print the number itself.
Hint:
Use if...else if...else, and remember to check the both divisible condition first!

🧠 Pick 2 Challenges Only
Don’t stress. Choose any two, and write the code in your code editor. Try to understand the logic step by step — it’s okay to make mistakes!

💌 As Always
👉 Share your progress with the group
👉 Invite your friends to join our fun journey
👉 And most importantly, stay coding, stay curious, and stay well! ✌️💻💙
1
Forwarded from Birhan Nega
How to keep focused while coding

Here are some tips to help you focus on coding:

1. Eliminate distractions: Find a quiet place to work and turn off any notifications or alerts that might interrupt your concentration.

2. Set goals: Break down your coding tasks into smaller, achievable goals. This will help you stay focused and motivated.

3. Take breaks: It's important to take regular breaks to avoid burnout and maintain your focus. Try the Pomodoro technique, which involves working for 25 minutes and taking a 5-minute break.

4. Use a timer: Set a timer for a specific amount of time and work on your coding task until the timer goes off. This will help you stay focused and avoid procrastination.

5. Stay organized: Keep your workspace and code organized to avoid distractions and make it easier to focus on your coding tasks.

6. Practice mindfulness: Take a few deep breaths and focus on the present moment before starting your coding task. This can help you clear your mind and improve your focus.
Week 3 Day 5 JavaScript Lesson :

  👋 Hello Campers!

Welcome to Week 3 Day 5!
Today, we’re going to learn two big skills:

📥 1. How to get input from the user
🔁 2. How to repeat code using a for loop

These two work together like a perfect duo—like asking someone their name (input) and greeting them multiple times (loop).
Let’s go step by step 💪.

🧠 1. Getting Input from the User in JavaScript

👂 What is "input"?
When you want the user to give something to your program—like their name, age, or favorite color—you ask them a question and store the answer.
In JavaScript (in the browser), we use:

prompt("Your question here")


This opens a small popup asking the user to type something.

🧪 Example 1: Ask for their name

let name = prompt("What's your name?");
console.log("Hello, " + name + "!");


When this runs, the user will see a box.
They can type “Liya”, and the output will be:

Hello, Liya!


🔒 Important: Where does prompt() work?
It only works in the browser, not in Node.js or many online compilers.
So try it in the browser’s console (Right click → Inspect → Console tab).

🧪 Example 2: Get two numbers and add them

let num1 = prompt("Enter first number:");
let num2 = prompt("Enter second number:");
let sum = Number(num1) + Number(num2);
console.log("The sum is: " + sum);



📌 Number() is used because prompt() gives us text (called a "string").
We change it into a number so we can do math.

🔄 Analogy: Getting input is like giving your friend a paper form 📝
➤➤You ask: “What's your name?”
➤➤They fill it and hand it back.
You:
let name = prompt("What's your name?");
➤Your friend writes “Sam” and hands it back. Now name = "Sam".

🔁 2. The for Loop – Repeating Code

Let’s now learn how to repeat something multiple times using the for loop.

🧠 Syntax of a for loop:

for (start; condition; step) { // code to repeat }


Here’s what that means:
➤start → where to begin (usually let i = 0)
➤condition → how long to keep looping (like i < 5)
➤step → how to move each time (like i++ to add 1)

🧪 Example 1: Print numbers 1 to 5

for (let i = 1; i <= 5; i++) { console.log(i); }


Output:
1 2 3 4 5

🧪 Example 2: Print "Hi" 3 times

for (let i = 0; i < 3; i++) { console.log("Hi"); }


🧪 Example 3: Ask the user how many times to repeat something
Let’s use prompt() + for together.

let times = prompt("How many stars do you want?");
times = Number(times);
for (let i = 1; i <= times; i++) { console.log(" Star " + i); }



🧪 Example 4: Say "Even" or "Odd" for each number

for (let i = 1; i <= 5; i++) {
    if (i % 2 === 0) { console.log(i + " is even"); }
   else { console.log(i + " is odd"); } }


🧪 Example 5: Skip number 3 using continue

for (let i = 1; i <= 5; i++) {
     if (i === 3) { continue; }
    console.log(i); }


Output:
1 2 4 5

🧪 Example 6: Stop the loop early using break

for (let i = 1; i <= 5; i++) {
     if (i === 4) { break; }
    console.log(i); }


Output:
1 2 3

🧠 Summary
Today, you learned:
How to use prompt() to get input from the user
How to use for loops to repeat actions
How to mix loops with conditions
How to use break and continue
1
💥💥Week 3 Day 5 Challenges!

You’ve been doing an incredible job exploring JavaScript—learning about prompt() and for loops today. 💻
Now it's time to sharpen those skills with 4 fun and practical challenges!

👀 But don’t worry—you don’t have to do them all! Choose any 2 that you like and give them your best shot. 💪

🧠 THE CHALLENGES:

1. 🔢 Multiplication Table Generator

What to do:
Ask the user for a number using prompt() and print the multiplication table from 1 to 10 for that number.
Hint:
Use a for loop from 1 to 10 and multiply each with the user number.

2. 💥 Custom Symbol Repeater

What to do:
Ask the user to enter a symbol (like #, *, @) and how many times they want to see it repeated. Then print that symbol multiple times.
Hint:
Get both inputs using prompt(), then use a for loop to repeat the symbol.

3. 🔐 Simple Password Guesser

What to do:
Set a secret password in your code. Then ask the user to guess it. Give them only 3 tries. If they guess correctly, show "Access Granted!", otherwise "Blocked!".
Hint:
Use a for loop with a maximum of 3 attempts. Use an if statement inside the loop to check the password.

4. 🔺 Pattern Printer

What to do:
Ask the user for a number. Then print a triangle pattern like this:

*
**
***

****


Hint:
Use nested loops! One for loop controls the rows, another one builds the pattern using *.

📝 Pick any 2 of these challenges and try your best! If you’re done early, feel free to try the rest too! The more you code, the better you get 🚀

📣 Share your solutions, invite your friends to join our fun coding camp, and as always—
🌞 Stay well and stay coding! ✌️💻
Week 3 Day 6 JavaScript Lesson:

  👋 Hello Campers!

Welcome to Week 3 Day 6 of our JavaScript Bootcamp! 🎉
You’ve been doing an amazing job so far—learning about variables, conditionals, loops, and how to take user input.

Today, we’re diving into one of the most powerful tools in JavaScript: the Array!

Arrays let you store, organize, and work with collections of data—and once you master them, your code will become faster, smarter, and more efficient. Let’s go! 🚀

🧠 What is an Array?

➤ Definition:
An array is a list-like container that can hold multiple values in a single variable.

Think of it as a shelf where you can store many items:
let shelf = ["book", "pen", "notebook"];

This is better than creating one variable for each item:
let item1 = "book"; let item2 = "pen"; let item3 = "notebook";

📦 Analogy:
Imagine your backpack. You don’t carry 5 separate bags for your items—you put them all in one backpack.
That’s exactly what an array does for your data!


📌 How to Create an Array

➤ Syntax:

let fruits = ["apple", "banana", "cherry"];


Square brackets [] hold the values.
Values are separated by commas.
You can store strings, numbers, booleans, even other arrays or variables.

➤ Examples:

let numbers = [1, 2, 3, 4, 5];
let mixed = [true, "hello", 42, null];
let empty = [];


🔍 Accessing Items in an Array

Each item has an index number, starting from 0.

let colors = ["red", "green", "blue"];
console.log(colors[0]); // red
console.log(colors[1]); // green
console.log(colors[2]); // blue


💡 Remember: Index starts at 0, not 1!

✏️ Modifying Array Elements
You can change the value at a specific index like this:

colors[1] = "yellow";
console.log(colors); // ["red", "yellow", "blue"]


🧩 Array Length

You can check how many items are in an array using .length:

let animals = ["cat", "dog", "elephant"];
console.log(animals.length); // 3


Adding and Removing Items
➤ .push() – Add to the end
animals.push("giraffe");

➤ .pop() – Remove from the end
animals.pop();

➤ .unshift() – Add to the start
animals.unshift("lion");

➤ .shift() – Remove from the start
animals.shift();

🧪 Example:

let names = ["Ali", "Sara"];
names.push("John"); // ["Ali", "Sara", "John"]
names.unshift("Lina"); // ["Lina", "Ali", "Sara", "John"]
names.pop(); // ["Lina", "Ali", "Sara"]
names.shift(); // ["Ali", "Sara"]


🔁 Looping Through Arrays
You can use a loop (like for) to go through each item in the array:

➤ Example:

let students = ["Abdi", "Mimi", "Fiker"];
for (let i = 0; i < students.length; i++) {
   console.log("Student:", students[i]); }



Real-World Example: Using prompt with Arrays
You can ask the user for multiple values and store them in an array:

let hobbies = [];
for (let i = 0; i < 3; i++) {
    let hobby = prompt("Enter a hobby:");
   hobbies.push(hobby); }
console.log("Your hobbies:", hobbies);



⚠️ Edge Cases to Understand
If you access a non-existing index: undefined

let items = ["pen"];
console.log(items[3]); // undefined


You can store different data types in one array (not recommended for clean code):

let mix = [42, "text", true, null];
Let's see some more methods.
➤.sort() – Sorting items
➤.join() – Turning an array into a string
➤Looping through arrays in a cleaner way
➤Nested arrays – Arrays inside arrays

🔤 1. .sort() – Sorting Array Items

The .sort() method lets you arrange array items in order (alphabetically or numerically).

➤ Alphabetical Sort:

let fruits = ["banana", "apple", "mango"];
fruits.sort();
console.log(fruits); // ["apple", "banana", "mango"]



➤ BUT! Be careful with numbers:

let numbers = [10, 2, 5, 1];
numbers.sort();
console.log(numbers); // [1, 10, 2, 5]


💥 WHY? Because .sort() treats them like text, not numbers!

🔗 2. .join() – Turning an Array into a String

Sometimes you want to convert your array into a single string:

let colors = ["red", "blue", "green"];
let result = colors.join(", ");
console.log(result); // "red, blue, green"



You can use any symbol between the items:

colors.join(" | "); // "red | blue | green"


🍉 3. Looping the “fruit of fruits” (cleaner loop)

Earlier we used this loop:

for (let i = 0; i < fruits.length; i++) {
     console.log(fruits[i]); }


But JavaScript gives us a cleaner way called the for...of loop.

➤ Example:

let fruits = ["apple", "banana", "mango"];
for (let fruit of fruits){
   console.log("Fruit of fruits:", fruit); }


🎉 This is cleaner, easier to read, and perfect for arrays!

📦 4. Nested Arrays – Arrays Inside Arrays

What if each student has multiple scores? We can use a 2D array (like a table):

let scores = [ [85, 90, 95],  [70, 75, 80], / [100, 98, 99] ];


➤ Accessing nested items:

console.log(scores[0]); // [85, 90, 95]
console.log(scores[0][1]); // 90


➤ Looping through nested arrays:

for (let i = 0; i < scores.length; i++) {
    console.log("Student", i + 1, "scores:");
   for (let j = 0; j < scores[i].length; j++) {
  console.log(" ➤", scores[i][j]); } }


🧠 Think of it as a table with rows and columns.


🧠 Summary – Key Things to Remember

Arrays are used to store multiple values.
Indexing starts from 0.
Use .length to know how many items.
Use .push(), .pop(), .shift(), .unshift() to add/remove.
Use loops to go through them.

.sort() arranges items in order
.join() turns an array into a string
for...of is a cleaner way to loop
Nested arrays help you store data in tables
You can loop through nested arrays using nested loops
💥💥Week 3 Day 6 Challenges!!

Hey Campers 👋, It’s time to put your array skills to work with today’s exciting challenges!
You’ve learned how to create arrays, loop through them, modify them, and even deal with nested ones. Now, let’s test how much you've understood.

🔍 Choose ANY 3 out of these 5 challenges and try your best to complete them. Take your time — practice is where the magic happens!

🎧 1. Simple Playlist Player

What to do:
Create an array of song names (your favorites!). Ask the user to enter a number, and based on the number, print the song at that position.
Hint:
Use prompt() to ask for a number
Use array[index] to show the song
Add a check so they don’t enter a number outside the array’s range

🧹 2. Clean Up Repeated Items

What to do:
You have an array with some repeated items. Create a new array that contains only unique values (no duplicates).
Hint:
Use a loop and an empty array
Before adding, check with .includes() if it already exists in the new array
You can also try using .indexOf() or Set if you’re curious!

🧠 3. Student Grade Analyzer

What to do:
Create a 2D array where each item contains a student's name and three scores. Loop through each student and calculate their average.
Hint:
Use nested arrays like: ["Sami", 90, 80, 85]
Use a loop to go through each student
Use another loop (or direct addition) to add the 3 numbers and divide by 3
Show: “Sami's average: 85”

📊 4. 2D Array Table Printer

What to do:
Make a 2D array that looks like a table (header + rows), then print each row and each column clearly.
Hint:
Use nested arrays like: [ ["Name", "Age", "City"], ["Sara", 22, "Adama"], ["Binyam", 20, "Bahir Dar"] ]
Use nested for loops to print each row and item

5. Magic Words Reverser

What to do:
Ask the user for a sentence using prompt(). Then reverse the order of words and show the new sentence.
Hint:
Use .split(" ") to turn the sentence into an array
Use .reverse()
Use .join(" ") to turn it back into a sentence

🚀 Choose any 3 challenges, try your best, and share your results in the group!

📣 Don’t forget to invite your coding friends who want to join our journey
🤝 And as always, stay curious, stay coding, and...
✌️ Stay well!
1
🌞 Week 3 Day 7 JavaScript Lesson:

Hey there, awesome campers! 👋

You've made it to Day 7 of Week 3 — and that’s no small thing! You’ve already learned about variables, loops, conditions, arrays... and now it's time to unlock a powerful tool in JavaScriptFunctions!

Let’s dive in slowly and clearly, because this one is super important and super useful. Don’t worry — you’re in safe hands 💪. And as always, keep your mind open and your fingers coding!

🧠 What is a Function?

A function is like a reusable machine. You put something in, it does something, and you can get something out.

📦 Simple Analogy: A Coffee Machine
Imagine you have a coffee machine.
You press a button = you call the function.
It takes water + coffee = inputs (parameters).
It gives you a cup of coffee = output (return value).

Once the machine is set up, you can use it again and again. That's what functions are in JavaScript — reusable blocks of code.

🧪 Why Do We Use Functions?

➤➤Avoid repetition — DRY: Don’t Repeat Yourself!
➤➤Organize code better
➤➤Make code reusable

✍️ How to Write a Function (Function Declaration)

Here’s the basic syntax:

function sayHello() {
     console.log("Hello, world!"); }


Let’s break it down:
function → keyword
sayHello → function name
() → parentheses for input (parameters)
{} → curly braces for function body (the code it runs)

💡 To use (or "call") the function:

sayHello(); // It prints: Hello, world!


🧺 Functions with Parameters

Functions can accept inputs called parameters.

function greet(name) {
      console.log("Hello, " + name + "!"); }


Now you can call it like this:

greet("Abebe"); // Hello, Abebe! greet("Sara"); // Hello, Sara!


So here, name is a parameter.

🔙 Functions with Return Values

Sometimes a function gives you something back.

function add(a, b) {
     return a + b; }


Now you can store or use the result:

let result = add(3, 5); // result is 8
console.log(result); // prints 8


The return keyword sends back a value to where the function was called.

🧠 Recap Analogy: Ethiopian Kitchen Example

You give ingredients (parameters) to the chef (function)
The chef cooks (runs the code)
You get injera or shiro (return value)
You can reuse the chef any time with different ingredients!

function makeJuice(fruit) {
   return "Here is your " + fruit + " juice!"; }
console.log(makeJuice("mango"));
console.log(makeJuice("banana"));



Arrow Functions

JavaScript has a shorter way to write functions called arrow functions.

Traditional function:

function double(x) { return x * 2; }

Arrow function:

const double = (x) => { return x * 2; };


If it’s just one line, you can make it even shorter:


const double = x => x * 2;



⚠️ When to Use Arrow Functions?

➤Great for short/simple functions
➤Useful when passing functions to other functions (you’ll see this later)
➤But arrow functions don’t have their own this keyword (we'll explain in future lessons)

More Examples!
1. Function to square a number:

function square(num) {
    return num * num; }
console.log(square(4)); // 16



Arrow version:

const square = num => num * num;



2. Greet someone based on time:

function greetByTime(hour) {
   if (hour < 12) {
      return "Good morning!"; }
    else if (hour < 18) {
       return "Good afternoon!"; }
   else {
      return "Good evening!"; } }
console.log(greetByTime(10)); // Good morning!



3. Function that returns whether a number is even:

function isEven(num) {
    return num % 2 === 0; }
console.log(isEven(6)); // true


Arrow version:

const isEven = num => num % 2 === 0;



4. Use Functions Inside Loops

function printMultiples(n) {
    for (let i = 1; i <= 10; i++) {
          console.log(n + " x " + i + " = " + (n*i)); } }
printMultiples(5);
💥💥Week 3 day 7 JavaScript challenges:

Today is all about practicing what we’ve learned using functions — and we’re keeping it fun, useful, and a bit magical .

🎯 Choose 3 of the 5 challenges below
Use functions properly (with parameters and return values), and feel free to mix in what you’ve learned about arrays, loops, and even prompt()!

🔧 1. Calculator Function

Task: Build a function that takes two numbers and an operator (+, −, ×, ÷) and returns the answer.
💡 Hint: Use an if or switch inside the function to check which operation to do.
calculate(3, '+', 5) ➞ 8

🧼 2. Name Formatter

Task: Create a function that takes a full name (like "abel kidanemariam") and returns it with the first letters capitalized → "Abel Kidanemariam".
💡 Hint: Use .split(" "), .toUpperCase() on first letters, then .join(" ") back.

🔢 3. Number Squarer

Task: Make a function that takes an array of numbers and returns a new array of their squares.
💡 Hint: Loop through the input array, square each item, and .push() to a new one.
squareNumbers([2, 3, 4]) ➞ [4, 9, 16]

😄 4. Emoji Repeater

Task: Build a function that takes an emoji (or any character) and a number, and repeats it that many times.
💡 Hint: Use a for loop or string .repeat() if you know it.

repeatEmoji("🔥", 5) ➞ "🔥🔥🔥🔥🔥"

5. Magic Word Filter

Task: Write a function that takes an array of words and returns only the words longer than 5 letters.
💡 Hint: Loop through the array, use an if to check .length, and store the good ones.

👥 When you're done:

Post your work in the group
Invite a friend to join our coding journey
And as always, stay curious, stay creative — and stay well ✌️
Week 3 Day 8 JavaScript Lesson:

👋 Hey campers!

Welcome to Week 3 Day 8 of our JavaScript learning journey!
Today, we’ll be wrapping up the last important foundational concepts before we move into Advanced JavaScript starting next week. So buckle up, stay focused, and let's learn something awesome today 🚀

Topics for Today
➤➤Variable Scope (Local vs Global)
➤➤String Methods (Common & Powerful ones)
➤➤The Math Object
➤➤Type Conversion
➤➤Truthy and Falsy Values
➤➤null, undefined, NaN
➤➤Writing Clean Code (Best practices)

🔍 1. Variable Scope (Local vs Global)

Analogy: Imagine variables like people who either stay in their house (local) or walk around the city (global).

🟢 Global Scope
A variable declared outside any function or block is in global scope and can be accessed anywhere in your code.

let name = "Eshetu";
function greet() {
    console.log("Hello, " + name); }
greet(); // Hello, Eshetu



🔵 Local Scope
A variable declared inside a function or block can only be used there.

function showAge() {
     let age = 25;
     console.log(age); }
showAge(); // 25
console.log(age); // Error: age is not defined



Block Scope (let and const only)
if (true) {
    let food = "Injera";
    console.log(food); // Injera }

console.log(food); // Error


👉 Best Practice: Always keep variables local as much as possible to avoid bugs.

🧵 2. String Methods

JavaScript gives us useful tools to work with text (strings).

let message = "JavaScript is fun!";

✍️ Example

let sentence = "Coding is cool";
console.log(sentence.replace("cool", "life")); // Coding is life



🔢 3. The Math Object

JavaScript has a built-in Math object with many useful math tools.
Examples:

console.log(Math.random()); // Random number (0 - 1)
console.log(Math.floor(4.9)); // 4
console.log(Math.ceil(4.1)); // 5
console.log(Math.round(4.5)); // 5
console.log(Math.max(2, 10, 30)); // 30
console.log(Math.min(2, 10, 30)); // 2



👉 You can build games, generate random passwords, or simulate dice rolls with Math.random().

🔄 4. Type Conversion
Changing one type of data to another.

a) To Number

let year = "2025";
let numYear = Number(year); // 2025


b) To String

let score = 100;
let strScore = String(score); // "100"



c) To Boolean

Boolean(0); // false
Boolean("Hello"); // true


5. Truthy and Falsy

In JavaScript, some values act like true, others like false when used in conditions.

🚫 Falsy values:
➤0
➤"" (empty string)
➤null
➤undefined
➤NaN
➤false
Everything else is truthy.

if (0) console.log("No"); // nothing
if (1) console.log("Yes"); // Yes



6. null, undefined, NaN

➤➤undefined
Means a variable has been declared but not given a value.

let x;
console.log(x); // undefined


➤➤null
It means empty or nothing. You assign it.

let selected = null;

➤➤NaN (Not a Number)
It means something isn’t a number.

let result = "abc" - 2; // NaN


7. Clean Code Practices

Good habits make code easier to read and debug!

Do:
➥Use clear variable names
➥Keep code organized
➥Use indentation and spacing
➥Comment your logic
➥Avoid repeating yourself (DRY: Don’t Repeat Yourself)

Don’t:
➥Use vague names like x1, temp, data2
➥Mix too many things in one line
➥Leave messy unused code