The typeof operator returns a string indicating the type of its argument, and the set of returned values is limited:
"undefined" "boolean" "number" "string" "symbol" (since ECMAScript 2015) "function" "object" (for null and any other object) "bigint" (since ECMAScript 2020) Compare a typeof expression to anything else, and the result will always be false.
function isNumber(x) {
return typeof x === "Number"; // Noncompliant: the function always returns 'false'
}
Instead, make sure you are always comparing the expression against one of the seven possible values.
function isNumber(x) {
return typeof x === "number";
}