Add a String to a Number and a Boolean in JavaScript [Tech Interview Quiz]
JavaScript is a loosely typed language. This gives you both great power and great responsibility.
Consider the following code snippet and determine the result.
Code snippet as a picture
|
|
Will we see any output? If yes, then what would it be?
Explanation
To answer this question correctly, you need to understand the typecast rules in JS.
The arithmetic operations
+
and-
have the same priority, so the value ofx
will be calculated from left to right without any exceptions.First, we concatenate the string
'2'
with the number3
. The result is the string'23'
.Second, we try to subtract the boolean value
true
from the string'23'
. To make this operation possible, both boolean and a string have to be cast to a number. Non-surprisingly'23'
becomes23
andtrue
is turned to1
. Eventually, we do the subtraction and get the result, number22
.The last step is to add the string
'1'
to the number22
. Applying the same concatenation that we did on the first step gives us the result - a string'221'
.
Answer
There are no issues with the expression in line 1. The value of
x
is a string’221’
, which will be successfully logged to the screen.