DEV Community

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

Posted on Originally published at learn.coderslang.com

JavaScript Interview Question #44: Number vs BigInt in JS

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
✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน ✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน
  • call the constructor BigInt(val) and pass in a numerical value
  const bigN = BigInt(123) // 123n
✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน ✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน

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

  const bigS = BigInt("234") // 234n
✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน ✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน

You can also use hex and binary notation.

  const bigHex = BigInt("0xffffffffffffffff") // 18446744073709551615n
  const bigBin = BigInt("0b111") // 7n
✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน ✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน

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

Top comments (2)

✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน
 
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.

✨ อัปเดตล่าสุด: coderslang/javascript interview question number vs bigint in js big - ประเด็นร้อน
 
coderslang profile image
Coderslang: Become a Software Engineer •

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