Will we see any output? If yes, then what would it be? (think well, then click for the answer and explanation)
To answer this question correctly, you need to understand the typecast rules in JS.
The arithmetic operations
- have the same priority, so the value of
x will be calculated from left to right without any exceptions.
First, we concatenate the string
'2' with the number
3. The result is the string
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
true is turned to
1. Eventually, we do the subtraction and get the result, number
The last step is to add the string
'1' to the number
22. Applying the same concatenation that we did on the first step gives us the result - a string
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.