• in
InterCourses
CoursesBlogs
0
← Introduction to JavaScript
○What is JavaScript?○Your First JavaScript Code○Data Types○Type Checking
○Declaring Variables○let and const in Practice○Operators○Type Conversion
○Conditionals○Switch Statement○For Loops○While Loop○Break and Continue
○Defining Functions○Arrow Functions○Scope○Closures●Project - Calculator○Function Expressions
○Arrays○Array Mutation Methods○Array Search and Slice○Array Iteration Methods○Multidimensional Arrays○Destructuring○Array Reverse and Sort○Array Fill○Array Find and Includes○Array Flat and FlatMap○Array Reduce, Some, and Every
○Objects○Object Methods and Destructuring○JSON○Math and Date○Date Basics
○02 Template Literals○String Methods○Regular Expressions
○Higher-Order Functions○Callbacks○map, filter, and reduce○Recursion○Project - Data Transform Pipeline
○OOP Introduction○Classes○Inheritance○Encapsulation
○Asynchronous JavaScript○Promises and Async Await○Async API Simulation

Project - Calculator

Project — Calculator

Put your functions, arrow functions, and conditionals knowledge together to build a simple calculator engine.

Requirements

Build the following pure functions in script.js:

  1. add(a, b) — returns a + b
  2. subtract(a, b) — returns a - b
  3. multiply(a, b) — returns a * b
  4. divide(a, b) — returns a / b; if b is 0 return null
  5. calculate(a, op, b) — delegates to the right function based on the op string ("+", "-", "*", "/"); returns null for an unknown operator.

Then:

  1. Compute the result of calculate(10, "+", 5) and display in #result as "10 + 5 = 15".
  2. Compute calculate(8, "/", 0) and display in #zero-result as "8 / 0 = Error: Division by zero".

Starter structure

The index.html already has <p id="result"> and <p id="zero-result"> ready for you.

Hint 1
1 / 3
HINT 1

Each operation is a separate function: add, subtract, multiply, divide.

Loading editor…
READY
intercourses
javascript