ECMAScript学习笔记-数据类型

数据类型

ECMAScript定义了5种基本类型:String、Number、Boolean、Undefined和Null;和1种复杂类型:Object。

5种基本类型分别对应着:字符串、数字、布尔值、未定义和空。

数据类型的探测

数据类型的探测一般采用typeof操作符,例如:

var param="test";
console.log(typeof param);//控制台返回object
var param=true;
console.log(typeof param);//控制台返回boolean
var param=123;
console.log(typeof param);//控制台返回number

关于变量未被赋值的情况

var param;
console.log(typeof param);//控制台返回object

可以看出ECMAScript将未赋值的变量当做一个空对象。其实如果确定上例中的param变量声明为一个对象的话,null是一个更好的选择:

var param=null;
console.log(typeof param);//控制台返回object

一个曾被忽略的问题

在判断一个变量是否存储一个数组时,typeof操作符就废了,因为使用typeof会返回Object(ECMAScript将数组定义为一个数组对象)。为此,我们应该采用这几个方案:

Array.isArray()方法

var Arr=[1,0,4,2,1];
console.log(Array.isArray(Arr));//控制台返回true

instanceof

var Arr=[1,0,4,2,1];
Arr instanceof Array;//控制台返回true

Object.prototype.toString.call()方法

var Arr=[1,0,4,2,1];
Object.prototype.toString.call(Arr) === ”[object Array]“//控制台返回true

将最新的文章发送到你的邮箱

展示评论