数据类型判断

Posted fengshaopu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型判断相关的知识,希望对你有一定的参考价值。

基本数据类型:number、String、null、undefind、symbol(es6)、boolean(布尔值)、BigInt(es10新增)
引用数据类型:object、array、function、Date、RegExp

  1. typeof 对于基本数据类型判断是没有问题的,但是遇到引用数据类型(如:Array)是不起作用
  2. 2.如果遇到unll的话也会返回object
    3.使用的话前面是判断方法 后面是数据
 1.typeof 对于基本的数据类型判断是没有问题的但是对引用数据类型是不起作用的  2.如果遇到unll的话也会返回object

console.log(typeof 1) //number
console.log(typeof 'j') //String
console.log(typeof undefined)  //undefined
console.log(typeof null)  // object
console.log(typeof {}) // object
console.log(typeof [])  // object
  1. instanceof 判断 new 关键字创建的引用数据类型
  2. property

··· 不考虑 null 和 undefined(这两个比较特殊)以对象字面量创建的基本数据类型
3. 使用是先是数据 然后是instanceof 判断的类型 返回的是boolean值

注意他不判断基本数据类型 判断的是引用数据类型


    console.log('k' instanceof String)
    console.log(/a/ instanceof RegExp)
    console.log('k' instanceof String)
    console.log( 3 instanceof Number)

  1. constructor(康斯储可特) 似乎完全可以应对基本数据类型和引用数据类型 但如果声明了一个构造函数,并且把他的原型指向了 Array 的原型,所以这种情况下,constructor 也显得力不从心

基本数据类型跟引用数据类型判断都可以

 console.log('k'.constructor===String)
  1. Object.prototype.toString.call() 完美的解决方案
 console.log(Object.prototype.toString.call('l'))
  1. jquery.type()

    如果对象是undefined或null,则返回相应的“undefined”或“null”。

以上是关于数据类型判断的主要内容,如果未能解决你的问题,请参考以下文章

关于判断一个文件是否是class文件

javascript常用代码片段

在代码片段中包含类型转换

对这个带有 & 不带 = 的代码片段返回类型感到非常困惑

js简洁代码片段

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段