Table of Contents
Working with Operators and Expressions
Operators allow you to perform operations on variables and values. JavaScript has several types of operators.
Arithmetic Operators
let a = 10;
let b = 3;
console.log(a + b); // Addition: 13
console.log(a - b); // Subtraction: 7
console.log(a * b); // Multiplication: 30
console.log(a / b); // Division: 3.333...
console.log(a % b); // Modulus (remainder): 1
console.log(a ** b); // Exponentiation: 1000
Assignment Operators
let x = 5;
x += 3; // Same as: x = x + 3 (now x is 8)
x -= 2; // Same as: x = x - 2 (now x is 6)
x *= 2; // Same as: x = x * 2 (now x is 12)
x /= 4; // Same as: x = x / 4 (now x is 3)
Comparison Operators
let num1 = 5;
let num2 = "5";
console.log(num1 == num2); // true (loose equality)
console.log(num1 === num2); // false (strict equality)
console.log(num1 != num2); // false
console.log(num1 !== num2); // true
console.log(num1 > 3); // true
console.log(num1 <= 5); // true
Logical Operators
let isAdult = true;
let hasLicense = false;
console.log(isAdult && hasLicense); // AND: false
console.log(isAdult || hasLicense); // OR: true
console.log(!isAdult); // NOT: false
String Operators
let firstName = "John";
let lastName = "Doe";
let fullName = firstName + " " + lastName; // "John Doe"
// Template literals (modern approach)
let greeting = `Hello, ${fullName}!`; // "Hello, John Doe!"
Increment and Decrement
let counter = 5;
counter++; // Post-increment: counter becomes 6
++counter; // Pre-increment: counter becomes 7
counter--; // Post-decrement: counter becomes 6
--counter; // Pre-decrement: counter becomes 5
Operator Precedence
JavaScript follows mathematical order of operations:
let result = 2 + 3 * 4; // 14 (not 20)
let result2 = (2 + 3) * 4; // 20 (parentheses first)
Practice Exercise
// Calculator practice
let price = 29.99;
let quantity = 3;
let taxRate = 0.08;
let subtotal = price * quantity;
let tax = subtotal * taxRate;
let total = subtotal + tax;
console.log(`Price per item: $${price}`);
console.log(`Quantity: ${quantity}`);
console.log(`Subtotal: $${subtotal.toFixed(2)}`);
console.log(`Tax: $${tax.toFixed(2)}`);
console.log(`Total: $${total.toFixed(2)}`);
// Check if total is over $100
let isExpensive = total > 100;
console.log(`Is expensive? ${isExpensive}`);