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.
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