node.js 中工具类util模块

在后台处理的过程中,在调试时经常会遇见,判断数据类型,或者打印数据类型,可以使用util模块。

  • 安装使用

1)npm install util 模块

2)在文件中引用,var util = require('util');

  • 常用功能
  1. 将一个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));

​​​​​​

猜你喜欢

转载自blog.csdn.net/ioszhanghui/article/details/90372072