JS判断基本类型

Posted 九是我呀

tags:

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

面试:基础 + 项目 + 算法 + 思考

基础

1. 判断数据类型

数据类型有:
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

javascript 判断数据类型的几种方法:
一、typeof 直接返回数据类型字段,但是无法判断数组、null、对象,其中 null, [], {}都返回 "object"
typeof 1 //"number"
二、instanceof 判断某个实例是不是属于原型

// 构造函数
function Fruit(name, color) {
    this.name = name;
    this.color = color;
}
var apple = new Fruit("apple", "red");

// (apple != null)
apple instanceof Object  // true
apple instanceof Array   // false

三、使用 Object.prototype.toString.call()判断,call()方法可以改变this的指向,那么把Object.prototype.toString()方法指向不同的数据类型上面,返回不同的结果

Object.prototype.toString.call(1)
"[object Number]"

四、constructor判断实例对象的构造函数,对基本数据类型没法用,因为在使用constructor的时候自动调用了 String()/Number()/Function() 构造函数生成一个对象

\'a\'.constructor === String  //true
(1).constructor === Number  //true
(function(){}).constructor === Function  //true
apple.constructor === Fruit  //ture

五、自写

function _typeof(obj){
  var s = Object.prototype.toString.call(obj);
  return s.match(/\\[object (.*?)\\]/)[1].toLowerCase();
};


_typeof([12,3,343]);
"array"

参考:javascript 判断数据类型的几种方法

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

JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集

JS判断基本类型

js类型判断

js基本数据类型+判断数据类型方法

js简洁代码片段

js 基础复习 之 js 类型判断