JavaScript中的数据类型以及判断数据类型的方法

Posted たLOME

tags:

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

数据类型概述

undefinedNullBooleanNumber StringfunctionObject(复杂数据类型)

javascript 不支持任何创建自定义类型的机制,所有值都成为以上 6 中数据类型之一

 

 

undefined类型

Undefined 类型只有一个值,即特殊的 undefined

在使用 var 或者let声明变量,但没有对其初始化时,这个变量的值就是 undefined我们在定义变量的时候,尽可能的不要只声明,不赋值。

没有必要显式的给一个变量赋值为 undefined,因为没有赋值的变量会隐式的 (自动的)赋值为 undefined

ECMAScript 3 版之前并没有引入这个值,引入之后为了正式区分空对象与未经初始化的变量。

var s
alert(s) // undefined

未初始化的变量与根本不存在的变量(未声明的变量)也是不一样的。

var s
alert(s) // undefined
// alert(a) // 报错:a is not defined

// 使用typeof 判断一个未初始化的变量和未定义的变量返回都是undefined,从逻辑上思考,他们的值,一个是 undefined,一个报错;他们的类型,却都是 undefined
alert(typeof s)
alert(typeof a)

 

 

Null类型

Null 类型是一个只有一个值的数据类型,即特殊的值 null

它表示一个空对象引用(指针),而 typeof 操作符检测 null 会返回 object

var s = null
alert(typeof s) //object

 如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null。这样,当检查 null 值就知道是否已经变量是否已经分配了对象引用了。

var s = null
if (s !== null) {
   alert(‘对象存在‘)
}

注意:undefined 是派生自 null 的,因此 ECMA-262 规定对它们的相等性测试返回 true

由于 undefined null 两个值的比较是相等的,所以,未初始化的变量和赋值为 null 的变量会相等。这时,可以采用 typeof 变量的类型进行比较。但建议还是养成编码的规范,不要忘记初始化变量。

var s = null
var a
alert(a == s) // true
alert(a === s) // false
alert(typeof a === typeof s) // false
alert(undefined == null) // true
alert(undefined === null) //fasle,三个等于号比较的是数据类型

 

 

 

 

 

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

Javascript 中的数据类型判断

javasript数据类型以及如何判断数据类型

java中用啥方法判断数据类型,就行 javascript中的 typeOf一样

JavaScript的五种数据类型以及数据类型的转换

JavaScript 判断数据类型的方法

JavaScript 判断数据类型的方法