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.