当前位置: 首页 > 后端技术 > Node.js

Node.js常用工具util

时间:2023-04-04 00:57:56 Node.js

说说node常用工具util。util是Node.js的一个核心模块,提供了常用函数的集合,弥补了核心Javascript函数简化的不足。util.inherits(constructor,superConstructor)是实现对象间继承的函数。JavaScript的面向对象特性是基于原型的(不懂原型的可以找相关文章辅导),这与常用的基于类的不同。JavaScript不提供对象继承的语言级特性,而是通过原型复制来实现的。先说下uril.inherits的用法,例子:constutil=require('util')functionBase(){this.name='base'this.base=1991this.sayHello=function(){console.log('Hello'+this.name)}}Base.prototype.showName=function(){console.log(this.name)}functionSub(){this.name='Sub'}util.inherits(Sub,Base)constobjBase=newBase()objBase.showName()objBase.sayHello()console.log(objBase)constobjSub=newSub()objSub.showName()console.log(objSub)我们定义了一个基础对象Base和继承自Base的Sub,Base在构造函数中定义了三个属性,在原型中定义了一个函数,通过util.inherits继承。运行结果如下:可以看出,Sub只继承了原型中Base定义的函数,Sub没有继承Base属性,也没有在tribute函数内部创建的sayHello函数。同时,原型中定义的属性不会被console.log输出为对象属性。util.inspect(object,[showHidden],[depth],[colors]):是一种将任何对象转换为字符串的方法,通常用于调试和错误输出。它至少接收一个参数对象,即要转换的对象。showHidden是可选参数。如果该值为真,将输出更多隐藏信息。depth表示最大递归层数。如果对象很复杂,您可以指定层数。如果不指定,默认递归2层。指定为Null表示将完全遍历对象,不限制递归层数。如果color的值为true,则输出格式为ANSI颜色编码,通常用于在终端实现更漂亮的效果。特别是,util.inspect不会简单地将对象直接转为字符串,即使对象定义了toString方法也不会调用。constutil=require('util')functionPerson(){this.name='Sifou'this.toString=function(){returnthis.name}}constobj=newPerson()console.log(util.inspect(obj))console.log(util.inspect(obj,true))结果为:util.isArray(object):如果给定的参数对象是数组,则返回true,否则返回false,用于判断是否是数组。varutil=require('util');util.isArray([])//trueutil.isArray(newArray)//trueutil.isArray({})//falseutil.isRegExp(object):用于判断是否是正则表达式,如果是则返回真,否则返回假。varutil=require('util');util.isRegExp(/someregexp/)//trueutil.isRegExp(newRegExp('anotherregexp'))//trueutil.isRegExp({})//falseutil.isDate():判断是否为日期,返回如果是,则返回true,否则返回false。varutil=require('util');效用。isDate(newDate())//真isDate(Date())//false(没有'new'返回一个字符串)util.isDate({})//falseutil.inError(object):如果给定的参数对象是错误对象,则返回true,否则返回false。varutil=require('util');util.isError(newError())//trueutil.isError(newTypeError())//trueutil.isError({name:'Error',message:'anerroroccurred'})//false更多详情,请有关详细信息,请访问http://nodejs.org/api/util.html。也可以看看UnderscoreUnderscore.js是一个非常精简的库,压缩后只有4KB。它提供了数十种函数式编程方法,弥补了标准库的不足,大大方便了javaScript编程。Underscore.js也可以与Node.js一起使用。