在后台处理的过程中,在调试时经常会遇见,判断数据类型,或者打印数据类型,可以使用util模块。
- 安装使用
1)npm install util 模块
2)在文件中引用,var util = require('util');
- 常用功能
- 将一个object对象类型转化成字符串
util.inspect(object,[showHidden],[depth],[colors]) 是一个将任意对象转换 为字符串的方法,通常用于调试和错误输出。它至少接受一个参数 object,即要转换的对象。
showHidden 是一个可选参数,如果值为 true,将会输出更多隐藏信息。
depth 表示最大递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多 少。如果不指定depth,默认会递归2层,指定为 null 表示将不限递归层数完整遍历对象。 如果color 值为 true,输出格式将会以ANSI 颜色编码,通常用于在终端显示更漂亮 的效果。
特别要指出的是,util.inspect 并不会简单地直接把对象转换为字符串,即使该对 象定义了 toString 方法也不会调用。
function Person (argument) {
this.name ='张辉';
this.testFunc =function(){
console.log('test');
};
function testConsole(){
console.log('testConsole');
};
this.testConsole = testConsole;
}
//把一个对象打印成字符串
var obj = new Person();
console.log(util.inspect(obj));
console.log(util.inspect(obj,true));
打印的结果:
2.判断是否是数组
var arr =[];
var arr2 =new Array();
var arr3 ={};
//是否是数组类型
console.log('arr是否是 数组'+util.isArray(arr));
//true
console.log('arr2是否是 数组'+util.isArray(arr2));
//true
console.log('arr3是否是 数组'+util.isArray(arr3));
//false
3.判断是否是object对象
//是否是null类型
var obj3 = null;
//是否是object类型
console.log('obj3是否为对象类型 '+util.isObject(obj3));//false
var obj5 ={};
console.log('obj5是否为对象类型 '+util.isObject(obj5));//true
4.判断是否是Number类型
//是否是number类型
var num =3;
console.log('num 是否是number类型'+util.isNumber(num));//true
5.判断是是否是null类型
//是否是null类型
var obj3 = null;
console.log("是否是null"+util.isNull(obj3));
//true
6.判断是否是undefined类型
//是否是null 或者 undefined类型
var obj4 = undefined;
console.log("是否是null或者 undefined"+util.isNullOrUndefined(obj4));//true
console.log("是否是null或者 undefined"+util.isNullOrUndefined(obj3));//true
console.log('obj4是否是Undefined'+util.isUndefined(obj4));
7.判断是否是 date类型
//是否是日期类型
var date = new Date();
console.log(util.isDate(date)+"是否为日期类型");
//true
8.判断是否是error类型
//是否是error类型
console.log(util.isError(new Error())+"是否为错误类型");
//true
console.log(util.isError({ name: 'Error', message: 'an error occurred' }));
// false
9.判断是否是Boolean类型
//是否是boolean类型
var obj6 = true;
console.log('obj6是否是Boolean '+util.isBoolean(obj6));//true
10.判断是否是String类型
//是否是字符串类型
var str = '';
console.log("str字符串 "+util.isString(str));//true
11.判断是否是buffer类型
//是否是buffer类型
var buffer = Buffer.alloc(128);
console.log('是否为buffer类型'+util.isBuffer(buffer));