JavaScript Interview Question #44: Number vs BigInt in JS
Coderslang: Become a Software Engineer

Coderslang: Become a Software Engineer @coderslang

About: Teaching you to code at js.coderslang.com - JavaScript, HTML, CSS, Node.js, React.js, React Native

Joined:
Nov 27, 2020

JavaScript Interview Question #44: Number vs BigInt in JS

Publish Date: May 31 '21
19 2

javascript interview question #44

What happens if we add an n suffix to a regular number in JavaScript? What’s the output?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

In the first line we try to add two numbers. These aren’t regular numbers, but rather two instances of BigInt — special objects that are used to safely represent numbers bigger than Number.MAX_SAFE_INTEGER.

There are two ways to create BigInt:

  • add a suffix n to any number in JavaScript
  const big = 1000000n; // 1000000n
Enter fullscreen mode Exit fullscreen mode
  • call the constructor BigInt(val) and pass in a numerical value
  const bigN = BigInt(123) // 123n
Enter fullscreen mode Exit fullscreen mode

This value doesn’t have to a number. I can be a string.

  const bigS = BigInt("234") // 234n
Enter fullscreen mode Exit fullscreen mode

You can also use hex and binary notation.

  const bigHex = BigInt("0xffffffffffffffff") // 18446744073709551615n
  const bigBin = BigInt("0b111") // 7n
Enter fullscreen mode Exit fullscreen mode

The BigInt numbers behave just like the regular ones. By adding 1n and 2n we get 3n. This is BigInt as well, and typeof 3n returns a string bigint, which will be logged to the screen when we call console.log.


ANSWER: The n suffix turns a regular JavaScript number into a BigInt. The string bigint will be logged to the console.

Learn Full-Stack JavaScript

Comments 2 total

  • Cooper Riehl
    Cooper RiehlJun 1, 2021

    Thanks for posting so many of these handy articles! I actually didn't know about the 'n' suffix, so this was a particularly helpful one for me.

Add comment