Latest web development tutorials

Node.js alat umum

util Node.js adalah modul inti yang menyediakan koleksi fungsi umum digunakan, digunakan untuk membuat inti fitur JavaScript efisien juga tidak memadai.


util.inherits

util.inherits (konstruktor, superConstructor) merupakan implementasi dari warisan prototipe fungsi antara objek.

fitur berorientasi objek dari JavaScript adalah prototipe berbasis, tidak seperti berbasis kelas umum. JavaScript tidak menyediakan bahasa tingkat objek mewarisi sifat, tapi dengan menyalin prototipe untuk mencapai.

Di sini kami hanya memperkenalkan contoh penggunaan util.inherits adalah sebagai berikut:

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); 

Kami mendefinisikan objek dasar mewarisi dari Base dan Base Sub, fungsi dasar memiliki tiga atribut yang didefinisikan dalam konstruktor dan prototipe yang didefinisikan oleh util.inherits warisan. Hasilnya adalah sebagai berikut:

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

Catatan: Sub Base hanya mewarisi fungsi didefinisikan dalam prototipe, dan struktur internal dan fungsi untuk membuat basis atribut sayHello fungsi belum Sub diwariskan.

Sementara itu, properti di prototipe tidak dapat didefinisikan sebagai objek output console.log properti. Jika kita menghapus objSub.sayHello (); Komentar baris ini, Anda akan melihat:

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 (objek, [showHidden], [mendalam], [warna]) adalah obyek sewenang-wenang untuk metode string, biasanya digunakan untuk debugging dan output error. Ia menerima sebuah objek setidaknya satu parameter objek, yaitu, untuk mengkonversi.

showHidden adalah parameter opsional, jika benar, output akan informasi yang lebih tersembunyi.

kedalaman rekursi maksimum menunjukkan jumlah lapisan, jika objek yang kompleks, Anda dapat menentukan berapa banyak lapisan untuk mengontrol output informasi. Jika Anda tidak menentukan kedalaman, rekursif standar layer 2, menunjukkan terbatas ditetapkan sebagai null rekursif melintasi lapisan objek utuh. Jika warnanya benar, format output akan di ANSI kode warna, umumnya digunakan untuk efek yang lebih indah di terminal.

Dari catatan khusus adalah bahwa, util.inspect tidak hanya secara langsung ke objek untuk string, bahkan jika objek mendefinisikan metode toString juga tidak disebut.

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)); 

Hasil operasi adalah:

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

util.isArray (objek)

Jika diberikan parameter "objek" adalah return array benar, jika tidak maka kembali palsu.

var util = require('util');

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

util.isRegExp (objek)

Jika diberikan parameter "objek" adalah ekspresi reguler mengembalikan true, jika tidak kembali palsu.

var util = require('util');

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

util.isDate (objek)

Jika diberikan parameter "objek" adalah tanggal mengembalikan true, jika tidak kembali palsu.

var util = require('util');

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

util.isError (objek)

Jika diberikan parameter "objek" adalah obyek kesalahan mengembalikan true, jika tidak kembali palsu.

var util = require('util');

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

Informasi lebih rinci dapat diakses http://nodejs.org/api/util.html untuk rincian.