(自用面试题)判断数据类型的方法有哪些?

82 阅读1分钟
  1. typeof操作符
    返回字符串,判断除Null外的简单数据类型,但是复杂数据类型中只能判断Function(REASON:typeof操作符虽然对原始值很有用,但它对引用值的用处不大。我们通常不关心一个值是不是对象,而是想知道它是什么类型的对象)。

    • 'number'表示值为数值。
    • 'boolean'表示值为布尔值。
    • 'string'表示值为字符串。
    • 'undefined'表示值未定义。
    • 'object'表示值为对象或者Null。
    • 'function'表示值为函数。
    • 'symbol'表示值为符号。
  2. instanceof操作符
    返回布尔值,判断复杂数据类型,但是不能判断简单数据类型(REASON:用instanceof操作符检测原始值,始终返回false,因为原始值不是对象)。

  3. Object.prototype.toString.call()
    返回[object Xxx]格式的字符串,判断所有数据类型。