The correct answer is 18.
Here’s why:
PHP supports automatic type conversion based on the context in which a variable or value is being used.
If you perform an arithmetic operation on an expression that contains a string, that string will be interpreted as the appropriate numeric type for the purposes of evaluating the expression. So, if the string begins with one or more numeric characters, the remainder of the string (if any) will be ignored and the numeric value is interpreted as the appropriate numeric type. On the other hand, if the string begins with a non-numeric character, then it will evaluate to zero.
With that understanding, we can see that “15%” evaluates to the numeric value 15 and “$25” evaluates to the numeric value zero, which explains why the result of the statement $x = 3 + “15%” + “$25” is 18 (i.e., 3 + 15 + 0).
The code above prints 5
.
The trick of this question is that in the IIFE there are two assignments but the variable a
is declared using the keyword var
. What this means is that a
is a local variable of the function. On the contrary, b
is assigned to the global scope.
The other trick of this question is that it doesn’t use strict mode ('use strict';
) inside the function. If strict mode was enabled, the code would raise the error Uncaught ReferenceError: b is not defined
. Remember that strict mode requires you to explicitly reference to the global scope if this was the intended behavior. So, you should write:
(function() { 'use strict'; var a = window.b = 5; })(); console.log(b);
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…
It’s another week and like always we have to explore the top yield platforms for…
View Comments
The first one was easy ;)