Lesson
Day 1 — Welcome & Variables
Task 1 What is JavaScript?
JS was created in 1995 by Brendan Eich at Netscape — in 10 days.
Despite the name, it's unrelated to Java.
Today JS runs in three main places: browsers (every webpage), servers (Node.js), and apps (React Native, Electron — VS Code is built with it!).
Task 2
console.log
console.log("Hello, Jaipur!"); // prints to the console
console.log("My name is Priya"); // prints another line
console.log("I'm learning JavaScript"); // a third
Task 3
let & const
// let — value can change
let age = 25;
console.log(age); // 25
age = 26; // reassigning is allowed
console.log(age); // 26
// const — value is fixed
const name = "Priya";
console.log(name); // "Priya"
// name = "Aarav"; // TypeError: Assignment to constant variable
Task 4
Naming Rules
// Good names — clear, camelCase, descriptive
const firstName = "Priya";
const totalPrice = 1180;
const isLoggedIn = true;
// Bad names — unclear, non-standard
const x = 1180; // x of what?
const total_price = 1180; // snake_case is for Python, not JS convention
const IsLoggedIn = true; // PascalCase is for classes (Day 17)
Task 5
var — Skip It
// var leaks out of blocks
if (true) {
var leaky = "I escape!";
let trapped = "I stay";
}
console.log(leaky); // "I escape!" ← bug-prone!
// console.log(trapped); // ReferenceError — trapped is gone
// var can be re-declared (silent overwrite)
var count = 1;
var count = 99; // no error — replaced silently
console.log(count); // 99
// let blocks re-declaration
let total = 1;
// let total = 99; // SyntaxError — already declared
Task 6
Block Scope
{
let cityName = "Jaipur";
const pin = 302001;
console.log(cityName); // "Jaipur"
console.log(pin); // 302001
}
// console.log(cityName); // ReferenceError — outside the block
// console.log(pin); // ReferenceError — outside the block
// Same with if-blocks
if (true) {
let inside = "hidden";
console.log(inside); // "hidden"
}
// console.log(inside); // ReferenceError
// var ignores blocks (Topic 5 callback)
{
var sneaky = "I leak out";
}
console.log(sneaky); // "I leak out"