Name the operator before predicting a conversion.
Review concatenation, subtraction, strict equality, nullish coalescing, logical OR and explicit NaN checking.
This count records matching keys on six supplied Node 24 ES module tasks. It is not a developer level, percentile, employer cutoff or qualification. Every answer and all four complete guides are available at every count.
Six different value decisions
These tasks use explicitly supplied primitive values in short JavaScript ES modules. The six checks are not all applications of one loose rule that JavaScript converts everything. Addition can concatenate strings, subtraction uses numeric conversion, and strict equality does not equate a Number with a Boolean. Nullish coalescing and logical OR choose fallback values using different tests. The final item separates an explicit Number conversion from Number.isNaN’s own non-coercing check.
Compare zero under two fallback rules
In a new unscored example, compare 0 ?? 9 with 0 || 9. The first expression yields zero because zero is neither null nor undefined. The second yields nine because zero is falsy. Printing the two selected values with a colon gives 0:9. Keep parentheses around each expression when combining them into a larger printed expression, so that you inspect the intended grouping rather than accidentally asking a different precedence question.
Follow the actual conversion path
For a plus expression, first identify whether a primitive operand is already a string. For subtraction, identify the numeric values produced from the supplied operands. Do not infer the result solely from how a value looks on screen: the text "2" and the number 2 are distinct inputs. A successful conversion in a small example does not establish that every arbitrary text value is numeric, and a failed conversion to NaN is different from throwing an exception in that example.
Distinguish equality from a NaN predicate
The strict-equality item compares different types without converting the Boolean into a number. The NaN item explicitly calls Number on nonnumeric text and then checks the resulting value with Number.isNaN. These are different questions. When revising, state the type and the operation at each step. Avoid replacing them with a blanket rule about truthiness, or assuming that a function whose name sounds numeric must itself perform a conversion on every argument.
Change one value and keep the operator
Create a disposable .mjs file with invented values. Predict the output for one expression, then change only the left value from null to zero or from a number to a numeric string. Explain which rule remains the same and which input property changed. Run it in the specified Node environment after predicting. This is optional revision in your own environment; the practice website displays code as text and does not execute code supplied by visitors.
Review the earliest mistaken step
Compare your selected answer with the complete explanation and identify the first divergence: string concatenation versus numeric addition, a selected operand versus a Boolean result, or a nullish value versus a falsy one. The six-item count does not reveal that distinction by itself. A perfect count cannot show whether you would notice a hidden conversion in an unfamiliar application. After studying the key, use a fresh example rather than treating a repeated correct answer as proof of general mastery.
Keep results tied to the declared environment
The 24 original snippets were checked with Node 24.19.0 as ES modules, including two deliberately invalid programs elsewhere in the bank. This guide discusses selected core rules, not every JavaScript feature or every browser-host behaviour. It supplies no validated developer bands, hiring recommendation or certificate. English code is identical in both interfaces, while the instructions and explanations are bilingual; that consistency does not establish psychometric equivalence across languages.