Latest web development tutorials

Node.js outils communs

util Node.js est un module de base qui fournit un ensemble de fonctions couramment utilisées, utilisés pour constituer le noyau JavaScript fonctions simplifiées trop insuffisantes.


util.inherits

util.inherits (constructeur, superconstructeur) est une implémentation d'un héritage de prototype de fonction entre les objets.

fonctionnalités orientées objet de JavaScript est un basé sur des prototypes, à la différence de classes de la commune. JavaScript ne fournit pas des objets de niveau de langue héritent des propriétés, mais en copiant le prototype à atteindre.

Ici, nous ne présentons util.inherits exemples d'utilisation sont les suivantes:

var util = require('util'); 
function Base() { 
	this.name = 'base'; 
	this.base = 1991; 
	this.sayHello = function() { 
	console.log('Hello ' + this.name); 
	}; 
} 
Base.prototype.showName = function() { 
	console.log(this.name);
}; 
function Sub() { 
	this.name = 'sub'; 
} 
util.inherits(Sub, Base); 
var objBase = new Base(); 
objBase.showName(); 
objBase.sayHello(); 
console.log(objBase); 
var objSub = new Sub(); 
objSub.showName(); 
//objSub.sayHello(); 
console.log(objSub); 

Nous définissons un objet de base hérite de la base et la base d'un sous, les fonctions de base ont trois attributs définis dans le constructeur et un prototype défini par util.inherits d'héritage. Les résultats sont les suivants:

base 
Hello base 
{ name: 'base', base: 1991, sayHello: [Function] } 
sub 
{ name: 'sub' }

Remarque: Sous base seulement hérité des fonctions définies dans le prototype et la structure interne et la fonction pour créer la base d' attribut sayHello fonction n'a pas été sous hérité.

Pendant ce temps, les propriétés du prototype ne peuvent pas être définis comme un objet de la production des biens de console.log. Si on enlève objSub.sayHello (); commenter cette ligne, vous verrez:

node.js:201 
throw e; // process.nextTick error, or 'error' event on first tick 
^ 
TypeError: Object #<Sub> has no method 'sayHello' 
at Object.<anonymous> (/home/byvoid/utilinherits.js:29:8) 
at Module._compile (module.js:441:26) 
at Object..js (module.js:459:10) 
at Module.load (module.js:348:31) 
at Function._load (module.js:308:12) 
at Array.0 (module.js:479:10) 
at EventEmitter._tickCallback (node.js:192:40) 

util.inspect

util.inspect (objet, [showHidden], [profondeur], [couleurs]) est un objet arbitraire à une méthode de chaîne, généralement utilisé pour le débogage et la sortie d'erreur. Il accepte un objet au moins un objet de paramètre, qui est, pour convertir.

showHidden est un paramètre optionnel, si elle est vraie, la sortie sera des informations plus cachée.

Profondeur maximale de récursivité indique le nombre de couches, si l'objet est complexe, vous pouvez spécifier le nombre de couches pour contrôler la sortie des informations. Si vous ne spécifiez pas une profondeur, la couche récursive par défaut 2, montre une limitée spécifiée comme nulle traverse récursivement les couches d'objets intacts. Si la couleur est vrai, le format de sortie sera en ANSI codage couleur, il est généralement utilisé pour un plus bel effet sur le terminal.

On notera en particulier est que, non seulement util.inspect directement à l'objet à une chaîne, même si l'objet définit la méthode toString est pas non plus appelé.

var util = require('util'); 
function Person() { 
	this.name = 'byvoid'; 
	this.toString = function() { 
	return this.name; 
	}; 
} 
var obj = new Person(); 
console.log(util.inspect(obj)); 
console.log(util.inspect(obj, true)); 

Les résultats d'exploitation sont:

{ name: 'byvoid', toString: [Function] } 
{ toString: 
{ [Function] 
[prototype]: { [constructor]: [Circular] }, 
[caller]: null, 
[length]: 0, 
[name]: '', 
[arguments]: null }, 
name: 'byvoid' } 

util.isArray (objet)

Si le paramètre «objet» donné est un vrai retour de tableau, sinon il retourne faux.

var util = require('util');

util.isArray([])
  // true
util.isArray(new Array)
  // true
util.isArray({})
  // false

util.isRegExp (objet)

Si le paramètre «objet» donné est une expression régulière renvoie true, sinon retourne false.

var util = require('util');

util.isRegExp(/some regexp/)
  // true
util.isRegExp(new RegExp('another regexp'))
  // true
util.isRegExp({})
  // false

util.isDate (objet)

Si le paramètre «objet» donné est une date renvoie true, sinon retourne false.

var util = require('util');

util.isDate(new Date())
  // true
util.isDate(Date())
  // false (without 'new' returns a String)
util.isDate({})
  // false

util.isError (objet)

Si le paramètre «objet» donné est un objet d'erreur renvoie true, sinon retourne false.

var util = require('util');

util.isError(new Error())
  // true
util.isError(new TypeError())
  // true
util.isError({ name: 'Error', message: 'an error occurred' })
  // false

Plus de détails peuvent être consultés http://nodejs.org/api/util.html pour plus de détails.