JS Built-ins
TypeScriptbeginner

Type Guard β€” isNumber

πŸ“– Usage Example
function isNumber(x: unknown): x is number {
  return typeof x === 'number'
}
isNumber(42)    // β†’ true
isNumber(NaN)   // β†’ true  (NaN has type number!)

typeof x === 'number' is true even for NaN, so NaN passes the isNumber type guard.

Type Guards: isNumber

Challenge: Implement isNumber(x: unknown): x is number.
Note: NaN is of type number in JavaScript β€” it should return true.

isNumber(42)      // β†’ true
isNumber(NaN)     // β†’ true  (NaN is type number!)
isNumber('42')    // β†’ false
πŸ’‘ Hints (1)
  • β€’ typeof NaN === "number" is true in JavaScript.