GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python Technologies
  • Databases
  • Computer Programming
  • Web Development
  • Java Technologies
  • Computer Science
  • Mobile Development
  • Big Data & Analytics
  • Microsoft Technologies
  • DevOps
  • Latest Technologies
  • Machine Learning
  • Digital Marketing
  • Software Quality

This view

  • Original page
  • New address

GeezerVison is showing www.tutorialspoint.com — JavaScript - Arithmetic Operators

Javascript Tutorial
  • Javascript Basics Tutorial
  • Javascript - Home
  • JavaScript - Roadmap
  • JavaScript - Overview
  • JavaScript - Features
  • JavaScript - Enabling
  • JavaScript - Placement
  • JavaScript - Syntax
  • JavaScript - Hello World
  • JavaScript - Console.log()
  • JavaScript - Comments
  • JavaScript - Variables
  • JavaScript - let Statement
  • JavaScript - Constants
  • JavaScript - Data Types
  • JavaScript - Type Conversions
  • JavaScript - Strict Mode
  • JavaScript - Reserved Keywords
  • JavaScript Operators
  • JavaScript - Operators
  • JavaScript - Arithmetic Operators
  • JavaScript - Comparison Operators
  • JavaScript - Logical Operators
  • JavaScript - Bitwise Operators
  • JavaScript - Assignment Operators
  • JavaScript - Conditional Operators
  • JavaScript - typeof Operator
  • JavaScript - Nullish Coalescing Operator
  • JavaScript - Safe Assignment Operator
  • JavaScript - Delete Operator
  • JavaScript - Comma Operator
  • JavaScript - Grouping Operator
  • JavaScript - Yield Operator
  • JavaScript - Spread Operator
  • JavaScript - Exponentiation Operator
  • JavaScript - Operator Precedence
  • JavaScript Control Flow
  • JavaScript - If...Else
  • JavaScript - While Loop
  • JavaScript - For Loop
  • JavaScript - For...in
  • Javascript - For...of
  • JavaScript - Loop Control
  • JavaScript - Break Statement
  • JavaScript - Continue Statement
  • JavaScript - Switch Case
  • JavaScript - User Defined Iterators
  • JavaScript Functions
  • JavaScript - Functions
  • JavaScript - Function Expressions
  • JavaScript - Function Parameters
  • JavaScript - Default Parameters
  • JavaScript - Function() Constructor
  • JavaScript - Function Hoisting
  • JavaScript - Self-Invoking Functions
  • JavaScript - Arrow Functions
  • JavaScript - Function Invocation
  • JavaScript - Function call()
  • JavaScript - Function apply()
  • JavaScript - Function bind()
  • JavaScript - Closures
  • JavaScript - Variable Scope
  • JavaScript - Global Variables
  • JavaScript - Smart Function Parameters
  • JavaScript Objects
  • JavaScript - Number
  • JavaScript - Boolean
  • JavaScript - Strings
  • JavaScript - Arrays
  • JavaScript - Date
  • JavaScript - DataView
  • JavaScript - Handler
  • JavaScript - Math
  • JavaScript - RegExp
  • JavaScript - Symbol
  • JavaScript - Sets
  • JavaScript - WeakSet
  • JavaScript - Maps
  • JavaScript - WeakMap
  • JavaScript - Iterables
  • JavaScript - Reflect
  • JavaScript - TypedArray
  • JavaScript - Template Literals
  • JavaScript - Tagged Templates
  • Object Oriented JavaScript
  • JavaScript - Objects
  • JavaScript - Classes
  • JavaScript - Object Properties
  • JavaScript - Object Methods
  • JavaScript - Static Methods
  • JavaScript - Display Objects
  • JavaScript - Object Accessors
  • JavaScript - Object Constructors
  • JavaScript - Native Prototypes
  • JavaScript - ES5 Object Methods
  • JavaScript - Encapsulation
  • JavaScript - Inheritance
  • JavaScript - Abstraction
  • JavaScript - Polymorphism
  • JavaScript - Destructuring
  • JavaScript - Destructuring Assignment
  • JavaScript - Object Destructuring
  • JavaScript - Array Destructuring
  • JavaScript - Nested Destructuring
  • JavaScript - Optional Chaining
  • JavaScript - Global Object
  • JavaScript - Mixins
  • JavaScript - Proxies
  • JavaScript Versions
  • JavaScript - History
  • JavaScript - Versions
  • JavaScript - ES5
  • JavaScript - ES6
  • ECMAScript 2016
  • ECMAScript 2017
  • ECMAScript 2018
  • ECMAScript 2019
  • ECMAScript 2020
  • ECMAScript 2021
  • ECMAScript 2022
  • JavaScript Asynchronous
  • JavaScript - Asynchronous
  • JavaScript - Callback Functions
  • JavaScript - Promises
  • JavaScript - Async/Await
  • JavaScript - Microtasks
  • JavaScript - Promisification
  • JavaScript - Promises Chaining
  • JavaScript - Timing Events
  • JavaScript - setTimeout()
  • JavaScript - setInterval()
  • JavaScript Cookies
  • JavaScript - Cookies
  • JavaScript - Cookie Attributes
  • JavaScript - Deleting Cookies
  • JavaScript Browser BOM
  • JavaScript - Browser Object Model
  • JavaScript - Window Object
  • JavaScript - Document Object
  • JavaScript - Screen Object
  • JavaScript - History Object
  • JavaScript - Navigator Object
  • JavaScript - Location Object
  • JavaScript - Console Object
  • JavaScript Web APIs
  • JavaScript - Web API
  • JavaScript - History API
  • JavaScript - Storage API
  • JavaScript - Forms API
  • JavaScript - Worker API
  • JavaScript - Fetch API
  • JavaScript - Geolocation API
  • JavaScript Events
  • JavaScript - Events
  • JavaScript - DOM Events
  • JavaScript - addEventListener()
  • JavaScript - Mouse Events
  • JavaScript - Keyboard Events
  • JavaScript - Form Events
  • JavaScript - Window/Document Events
  • JavaScript - Event Delegation
  • JavaScript - Event Bubbling
  • JavaScript - Event Capturing
  • JavaScript - Custom Events
  • JavaScript Error Handling
  • JavaScript - Error Handling
  • JavaScript - try...catch
  • JavaScript - Debugging
  • JavaScript - Custom Errors
  • JavaScript - Extending Errors
  • JavaScript Important Keywords
  • JavaScript - this Keyword
  • JavaScript - void Keyword
  • JavaScript - new Keyword
  • JavaScript - var Keyword
  • JavaScript HTML DOM
  • JavaScript - HTML DOM
  • JavaScript - DOM Methods & Properties
  • JavaScript - DOM Document
  • JavaScript - DOM Elements
  • JavaScript - DOM Attributes (Attr)
  • JavaScript - DOM Forms
  • JavaScript - Changing HTML
  • JavaScript - Changing CSS
  • JavaScript - DOM Animation
  • JavaScript - DOM Navigation
  • JavaScript - DOM Collections
  • JavaScript - DOM NodeList
  • JavaScript - DOM DOMTokenList
  • JavaScript Advanced Chapters
  • JavaScript - Bubble Sort Algorithm
  • JavaScript - Circular Reference Error
  • JavaScript - Code Testing with Jest
  • JavaScript - CORS Handling
  • JavaScript - Data Analysis
  • JavaScript - Dead Zone
  • JavaScript - Design Patterns
  • JavaScript - Engine and Runtime
  • JavaScript - Execution Context
  • JavaScript - Function Composition
  • JavaScript - Immutability
  • JavaScript - Kaboom.js
  • JavaScript - Lexical Scope
  • JavaScript - Local Storage
  • JavaScript - Memoization
  • JavaScript - Minifying JS
  • JavaScript - Mutability vs Immutability
  • JavaScript - Package Manager
  • JavaScript - Parse S-Expressions
  • JavaScript - Prototypal Inheritance
  • JavaScript - Reactivity
  • JavaScript - Require Function
  • JavaScript - Selection API
  • JavaScript - Session Storage
  • JavaScript - SQL CRUD Operations
  • JavaScript - Supercharged Sorts
  • JavaScript - Temporal Dead Zone
  • JavaScript - Throttling
  • JavaScript - TRPC Library
  • JavaScript - Truthy and Falsy Values
  • JavaScript - Upload Files
  • JavaScript - Date Comparison
  • JavaScript - Recursion
  • JavaScript - Data Structures
  • JavaScript - Base64 Encoding
  • JavaScript - Callback Function
  • JavaScript - Current Date/Time
  • JavaScript - Date Validation
  • JavaScript - Filter Method
  • JavaScript - Generating Colors
  • JavaScript - HTTP Requests
  • JavaScript - Insertion Sort
  • JavaScript - Lazy Loading
  • JavaScript - Linked List
  • JavaScript - Nested Loop
  • JavaScript - Null Checking
  • JavaScript - Get Current URL
  • JavaScript - Graph Algorithms
  • JavaScript - Higher Order Functions
  • JavaScript - Empty String Check
  • JavaScript - Form Handling
  • JavaScript - Functional Programming
  • JavaScript - Parameters vs Arguments
  • JavaScript - Prototype
  • JavaScript - Reactive Programming
  • JavaScript - Reduce Method
  • JavaScript - Rest Operator
  • JavaScript - Short Circuiting
  • JavaScript - Undefined Check
  • JavaScript - Unit Testing
  • JavaScript - Validate URL
  • JavaScript Miscellaneous
  • JavaScript - Ajax
  • JavaScript - Async Iteration
  • JavaScript - Atomics Objects
  • JavaScript - Rest Parameter
  • JavaScript - Page Redirect
  • JavaScript - Dialog Boxes
  • JavaScript - Page Printing
  • JavaScript - Validations
  • JavaScript - Animation
  • JavaScript - Multimedia
  • JavaScript - Image Map
  • JavaScript - Browsers
  • JavaScript - JSON
  • JavaScript - Multiline Strings
  • JavaScript - Date Formats
  • JavaScript - Get Date Methods
  • JavaScript - Set Date Methods
  • JavaScript - Modules
  • JavaScript - Dynamic Imports
  • JavaScript - BigInt
  • JavaScript - Blob
  • JavaScript - Unicode
  • JavaScript - Shallow Copy
  • JavaScript - Call Stack
  • JavaScript - Reference Type
  • JavaScript - IndexedDB
  • JavaScript - Clickjacking Attack
  • JavaScript - Currying
  • JavaScript - Graphics
  • JavaScript - Canvas
  • JavaScript - Debouncing
  • JavaScript - Performance
  • JavaScript - Style Guide
  • JavaScript Useful Resources
  • JavaScript - Questions And Answers
  • JavaScript - Quick Guide
  • JavaScript - Cheatsheet
  • JavaScript - Functions
  • JavaScript - Resources
  • JavaScript - Online Editor
Selected Reading
  • UPSC IAS Exams Notes
  • Developer's Best Practices
  • Questions and Answers
  • Online Resume Builder
  • HR Interview Questions
  • Computer Glossary
  • Who is Who

JavaScript - Arithmetic Operators



Previous
Quiz
Next

JavaScript Arithmetic Operators

Arithmetic operators in JavaScript perform mathematical calculations on numeric values (operands). Most of the arithmetic operators are binary operators as they perform calculations on two operands. Some arithmetic operators are unary operators. The unary operators perform computation on a single operand.

JavaScript supports many arithmetic operators such as addition, subtraction, multiplication, division operators, etc. It uses the common symbols for arithmetic operators such as "+" for addition, "-" for subtraction, "*" for multiplication, "/ " for division etc.

The operands can be literals, variables or the expression.

var z = 3 + 5;  // 3 and 5 are literal values.
const x = 3; y = 5;
var z = x + y ; // x and y are variables. 
var z = 3 + 2*x  // expression

In general, arithmetic operators are used to perform mathematical operations but they can be used for other operations as well. For example, the addition operator (+) can be used for string concatenation.

Here, we have given a table containing the mathematical operators and explaining the functionality of each operator.

Operator Name Description
+ Addition Adds two operands
- Subtraction Subtracts the second operand from the first
* Multiplication Multiply both operands
/ Division Divide the numerator by the denominator
% Modulus Outputs the remainder of an integer division
++ Increment Increases an integer value by one
-- Decrement Decreases an integer value by one

Let's discuss the different operators with the help of examples.

JavaScript Addition (+) Operator

The JavaScript addition (+) operator adds two numeric operands. It is denoted by the plus (+) symbol.

var x = 5, y = 10;
var sum = x + y;

This operator can also be used to concatenate strings and/or numbers.

var z = '10' + 3  // returns 103
var z = '10' + '3'  // returns 103
  • If one operand is string, the addition operator converts the other operand to string and concatenate it with first operand.
  • If both the operands are string, it just concatenates the second operand to the first operand.
  • If both operands are numeric values, it will return the numeric value.

Example

In the below example, we demonstrate adding two decimal numbers and concatenating the strings and numbers.

<html>
<body>
   <script>
      const x = 3; y = 5;
      var z = x + y ;
      document.write(z +"</br>");
      var z = '10' + 3 
      document.write(z +"</br>");
      var z = '10' + '3';
      document.write(z +"</br>");
   </script>
</body>
</html>

JavaScript Subtraction (-) Operator

JavaScript subtraction (-) operator subtracts the right operand from the left operand and produces their difference. It is denoted by the minus (-) symbol.

20 - 10; // returns 10
'20' - 10; // returns 10
'20' - '10'; // returns 10
'20ee' - 10; // returns NaN
NaN - 10 // return NaNs
Infinity - 10 // returns infinity
  • The subtraction operator uses numeric operands but can also be used for non-numeric operands such as strings.
  • If both operands are numbers, then resultant is number.
  • If any or both operands are strings (containing only numbers), it first converts the strings to number and then performs subtraction operations.
  • If string contains non numeric value, it will return NaN.
  • If any operand is NaN or Infinity, the result will be NaN or Infinity respectively.

Example

In the below example, we demonstrate the subtraction two decimal numbers and of other datatypes.

<html>
<body>
   <script>
      var x = 20; y = 10;
      var z = x - y ;
      document.write(z +"</br>");
      x = "20"; y = "10"
      z = x - y ;
      document.write(z +"</br>");
      x = "20ee"; 
      z = x - y ;
      document.write(z +"</br>");
   </script>
   <p>Change the values of the variables and test the resultant values</p>
</body>
</html>

JavaScript Multiplication (*) Operator

The JavaScript multiplication operator multiplies two numbers (operands). It gives the product of two operands. It is denoted by the asterisk (*) symbol. If two operands are of same sign, the product is positive. If the two operands are of different sign, the product is negative.

If any or both operands are string, it converts the string to number and then returns their product.

Example

In the example below, we demonstrate the use of multiplication operator on different types of operands.

<html>
<body>
   <script>
      var x = 20; y = 10;
      var z = x * y ;
      document.write(z +"</br>");
      x = "20"; y = "10"
      z = x * y ;
      document.write(z +"</br>");
      x = "20ee"; 
      z = x * y ;
      document.write(z +"</br>");
   </script>
   <p>Change the values of the variables and test the resultant values</p>
</body>
</html>

JavaScript Division (/) Operator

The JavaScript division (/) operator divides the left operand (dividend) by the right operand (divisor) and returns the quotient. It is represented by the slash (/) symbol.

20/10  // returns 2
20/-10 // return -2
100/0  // returns Infinity
0/0    // returns NaN

Example

Let's demonstrate the use of division operator.

<html>
<body>
   <script>
      var x = 20; y = 10;
      var z = x / y ;
      document.write(z +"</br>");
      x = "20"; y = "10"
      z = x / y ;
      document.write(z +"</br>");
      z = x / 0 ;
      document.write(z +"</br>");
      z = 0 / 0 ;
      document.write(z +"</br>");
   </script>
   <p>Change the values of the variables and test the resultant values</p>
</body>
</html>

JavaScript Modulus (%) Operator

The JavaScript modulus (%) operator returns the remainder when first operand is divided by the second operand. It is also known as remainder operator. It is denoted by the percent (%) symbol. It takes the sign of dividend. Lets take an example 5%3 gives 2 because when 5 is divided by 3, it gives remainder as 2.

Example

Let's understand the modulus operator with the help of an example program.

<html>
<body>
   <script>
      var x = 20 % 9;
      var y = -20 % 9;
      var z = 20.43 % 9;
      var a = 20 % -9;
      var b = 20 % 10;
      document.write(x +"</br>");
      document.write(y +"</br>");
      document.write(z +"</br>");
      document.write(a +"</br>");
      document.write(b +"</br>");
   </script>
  </body>
</html>

JavaScript Increment (++) Operator

The JavaScript increment (++) operator increases the value of operand by one. It is an unary operator. It takes only one operand. It is denoted by double plus (++) sign.

There are two types of increment operator in JavaScript −

Prefix Increment Operator

The prefix increment operator increments the value of the variable before its current value is used. For example,

var x = 10;
var y = ++x; // x is now 11 and y is also 11.

Postfix Increment Operator

The postfix increment operator increments the value of the variable after its current value is used. For example,

var a = 10;
var b = a++; // a is now 11 but b is 10.

Here, in the second line of the above code, first the current value of a is assigned to b, then it is incremented.

Lets look at the following example −

<html>
<body>
   <script>
      var x = 10;
      var y = --x;  //prefix decrement
      var a = 10;
      var b = a--;  // postfix decrement
	  document.write("x = " + x);
      document.write(" y = " + y + "<br>");
      document.write("a = " + a);
      document.write(" b = " + b + "<br>");
   </script>
   <p>Change the values of the variables and check the results</p>
</body>
</html>

JavaScript Decrement (--) Operator

The JavaScript decrement (--) operator decreases the value of operand by one. It is also an unary operator, i.e., it takes only one operand. It is denoted by double minus (--) sign.

There are two types of decrement operator in JavaScript −

Prefix Decrement Operator

The prefix decrement operator decrements the value of the variable before its current value is used. For example,

var x = 10;
var y = --x; // x is now 9 and y is also 9.

Postfix Decrement Operator

The postfix decrement operator decrements the value of the variable after its current value is used. For example,

var a = 10;
var b = a--; // a is now 9 but b is 10.

Here, in the second line of the above code, first the current value of a is assigned to b, then it is decremented.

Lets look at the following example −

<html>
<body>
   <script>
      var x = 10;
      var y = --x;  //prefix decrement
      var a = 10;
      var b = a--;  // postfix decrement
	  document.write("x = " + x);
      document.write(" y = " + y + "<br>");
      document.write("a = " + a);
      document.write(" b = " + b + "<br>");
   </script>
   <p>Change the values of the variables and check the results</p>
</body>
</html>
Tutorix - AI Tutor
Previous Quiz Next
Advertisements
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.