1. ECMAScript® 2023 Language Specification (ECMA-262
14th edition):
For parseInt (Option B): Section 19.2.5
parseInt ( string
radix )
describes the parsing process. If the input string does not contain any mathematical integer value
the result is NaN.
For Division and Type Coercion (Option C): Section 13.7
Multiplicative Operators
specifies that for the division A / B
both operands are first converted to numbers using the ToNumeric abstract operation. The string 'five' converts to NaN
and as per Table 22
Number / NaN results in NaN.
For Division by Zero (Option D): Section 6.1.6.1.5
Number::divide ( x
y )
states that if x is finite and non-zero and y is +0
the result is +Infinity.
2. MDN Web Docs (Official Mozilla Documentation for JavaScript):
parseInt(): "If the first character cannot be converted to a number
parseInt() returns NaN." (Source: MDN Web Docs
parseInt()
"Return value" section).
NaN: "NaN is a property of the global object. It is a value representing Not-A-Number. ... It is the returned value when Math functions fail (e.g.
Math.sqrt(-1)) or when a function trying to parse a number fails (e.g.
parseInt('blabla'))." (Source: MDN Web Docs
NaN
"Description" section).
Arithmetic Operators: "If one of the operands is a string that cannot be converted to a number
the result is NaN." (Source: MDN Web Docs
"Arithmetic operators"
"Division (/)" section).