JavaScript 是一种动态类型语言,这意味着变量的类型可以在运行时更改。许多面试问题都涉及包含不同类型值的递归值以及如何处理每种值类型(例如,需要不同的代码来迭代数组与对象)。掌握 JavaScript 类型的知识对于解决 深拷贝 和 深层相等 等问题至关重要。
在本问题中,我们将实现以下实用程序函数来确定基本值的类型。
isBoolean(value): 如果 value 是布尔值,则返回 true,否则返回 false。isNumber(value): 如果 value 是数字,则返回 true,否则返回 false。请注意,NaN 被视为数字。isNull(value): 如果 value 是 null,则返回 true,否则返回 false。isString(value): 如果 value 是 String,则返回 true,否则返回 false。isSymbol(value): 如果 value 是 Symbol 原语,则返回 true,否则返回 false。isUndefined(value): 如果 value 是 undefined,则返回 true,否则返回 false。实现这些实用函数本身不会成为一个完整的面试问题,但您可能需要实现其中一些实用函数,作为解决更复杂的面试问题的一部分。
大多数函数只涉及一行,您甚至可能不需要为一行逻辑编写一个单独的函数。这里更重要的是要知道如何检查每种数据类型。
同样重要的是要注意 null 和 undefined 之间的区别。null == undefined 为 true,因此如果目的是检查确切的 null 和 undefined 值,我们需要使用 ===。
export function isBoolean(value) {return value === true || value === false;}export function isNumber(value) {return typeof value === 'number';}export function isNull(value) {return value === null;}export function isString(value) {return typeof value === 'string';}export function isSymbol(value) {return typeof value === 'symbol';}export function isUndefined(value) {return value === undefined;}
console.log() 语句将显示在此处。