js 数据类型及判断方法

1、数据类型 :

基本数据类型:
数值型  number
字符型  string
布尔型  boolean  (true/false)

复合数据类型 :
对象 object     

特殊数据类型 :
null      空   (null的类型实际上就是object)
undefined  未定义的

es6新增symbol:
唯一性,类似ID。
用于对象属性名(key)时不会被对象操作方法枚举
定义:let s1 = Symbol();
参考网址:https://www.jianshu.com/p/f40a77bbd74e

2、判断方法

typeof

判断基本数据类型,number、string、undefined、boolean。(其他打印为object或function)。
例: typeof 变量名 // 返回类型

constructor

constructor是原型prototype的一个属性,当函数被定义时候,js引擎会为函数添加原型prototype,并且这个prototype中constructor属性指向函数引用, 因此重写prototype会丢失原来的constructor。
(1:null 和 undefined 无constructor,这种方法判断不了。
2:还有,如果自定义对象,开发者重写prototype之后,原有的constructor会丢失,因此,为了规范开发,在重写对象原型时一般都需要重新给 constructor 赋值,以保证对象实例的类型不被篡改。)
例: [].constructor == Array // true

instanceof

用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。
例: arr instanceof Array // true

isArray()

方法用于判断一个对象是否为数组。如果对象是数组返回 true,否则返回 false。
例: Array.isArray(obj)

Object.prototype.toString.call(变量名)

判断所有类型,但不能准确判断对象属于哪个实例,只能用instanceof判断。
例: Object.prototype.toString.call(1) ; // [object Number]
Object.prototype.toString.call(1).slice( 8, -1) ); // Number

判断是否为undefined

例: typeof(变量) == “undefined”

判断是否为null

例:!exp && typeof(exp)!=”undefined” && exp!=0 // exp为变量

参考网址:

https://www.cnblogs.com/lmsblogs/p/11280821.html
https://www.cnblogs.com/yadiblogs/p/10750775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值