正解:A
Expression:
true + ' 13 ' + NaN
The + operator is left-associative, so evaluation order:
* true + ' 13 '
* When one operand is a string, + performs string concatenation.
* true is converted to string ' true ' .
* ' true ' + ' 13 ' # ' true13 ' .
* Result from step 1 with NaN:
' true13 ' + NaN
* Again, one operand is a string, so concatenation.
* NaN is converted to string ' NaN ' .
* ' true13 ' + ' NaN ' # ' true13NaN ' .
Final value: ' true13NaN ' .
So A is correct.
Why others are wrong:
* B: ' 113NaN ' would require true to coerce to 1 first and no string to be present, which is not the case because ' 13 ' forces string concatenation.
* C: 14 would require pure numeric addition, which is not the case once a string is involved.
* D: ' true13 ' ignores the final + NaN part.
Concepts: type coercion with +, boolean to string, NaN to string, left-associative evaluation.