JavaScript 是一种动态类型语言,这意味着变量类型的类型可以在运行时更改。许多面试问题都涉及可以保存不同类型值的对象的递归,以及如何根据类型处理每个值类型的差异(例如,需要不同的代码来迭代数组与对象)。掌握 JavaScript 类型的知识对于解决诸如 深拷贝 和 深比较 等问题至关重要。
在 类型工具 中,我们已经实现了实用函数来确定原始值的类型。在本问题中,我们将实现以下实用函数来确定非原始值的类型。
isArray(value)
value
true
false
isFunction(value)
isObject(value)
null
undefined
isPlainObject(value)
Object.prototype
Object.create(null)
console.log()