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
    
  • call the constructor BigInt(val) and pass in a numerical value

    const bigN = BigInt(123) // 123n
    

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

    const bigS = BigInt("234") // 234n
    

    You can also use hex and binary notation.

    const bigHex = BigInt("0xffffffffffffffff") // 18446744073709551615n
    const bigBin = BigInt("0b111") // 7n
    

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.