DEV Community

loading...
Cover image for JavaScript Interview Question #44: Number vs BigInt in JS

JavaScript Interview Question #44: Number vs BigInt in JS

Coderslang: Become a Software Engineer
Teaching you to code at js.coderslang.com - JavaScript, HTML, CSS, Node.js, React.js, React Native
Originally published at learn.coderslang.com ・1 min read

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

Discussion (2)

Collapse
cariehl profile image
Cooper Riehl

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.

Collapse
coderslang profile image
Coderslang: Become a Software Engineer Author

I'm glad you liked it, Cooper. I'll be posting more of the same 🚀