utilのNode.jsのはあまりにも不十分な合理化コアJavaScript関数を作るために使用される一般的に使用される機能、のコレクションを提供コアモジュールです。
util.inherits
util.inherits(コンストラクタ、superConstructor)は、オブジェクト間のプロトタイプの継承を達成するための機能です。
JavaScriptをオブジェクト指向機能の共通クラスベースとは異なり、プロトタイプベースです。JavaScriptはオブジェクトを提供していない言語レベルの特性を継承しますが、プロトタイプ複製によって実装されています。
ここでは、唯一のutil.inheritsの使用を紹介し、次のように、例を示します。
UTILあっ=( 'utilの')を必要とします。
機能ベース(){
this.name =「ベース」。
this.base = 1991;
this.sayHello =関数(){
console.log( 'こんにちは' + this.name);
}。
}
Base.prototype.showName =関数(){
console.log(this.name)。
}。
関数sub(){
this.name =「サブ」。
}
util.inherits(SUB、塩基)。
)(objBase =新基地ました。
objBase.showName();
objBase.sayHello();
console.log(objBase)。
VAR objSub =新しいサブ();
Objshubksownme();
//objSub.sayHello()。
console.log(objSub)。
我々は、ベースオブジェクトは、サブベースと、ベースから継承定義、基底関数は、コンストラクタとプロトタイプ定義で定義された3つの属性、util.inheritsによって実装継承を有します。結果は以下の通りであります:
ベース
こんにちはベース
{名: 'ベース'、基地:1991、のsayHello:[機能]}
サブ
{名: 'サブ'}
注:サブベースのみプロトタイプで定義された関数を継承するが、内部構造及びベースを作成するように機能するのsayHello機能がサブ継承されない属性。
一方、プロトタイプで定義されたプロパティは、オブジェクトのプロパティにconsole.logとして出力されません。我々はobjSub.sayHello()を削除した場合、この行をコメント、あなたが表示されます。
Node.jsの:201
Eを投げます。// process.nextTickエラー、または最初のダニに「エラー」イベント
^
例外TypeError:オブジェクト#<サブ>は方法はありません 'のsayHello'
オブジェクトで。<匿名>(/home/byvoid/utilinherits.js:29:8)
Module._compileで(module.js:441:26)
Object..jsで(module.js:459:10)
Module.loadで(module.js:348:31)
Function._loadで(module.js:308:12)
Array.0で(module.js:479:10)
EventEmitter._tickCallbackで(Node.jsの:192:40)
util.inspect
util.inspect(オブジェクト、[showHidden]、[深さ]、[色])は、通常、デバッグおよびエラー出力のために使用される文字列方法に任意のオブジェクトです。変換する少なくとも1つのパラメータオブジェクトを受信したオブジェクト、すなわち、です。
showHiddenがtrueの場合、出力はより多くの隠された情報となり、オプションのパラメータです。
再帰の深さは、オブジェクトが複雑な場合、あなたは情報の出力を制御する方法を多くの層を指定することができ、各層の最大数を表します。深さが指定されない場合、デフォルト値は再帰的にヌルが層の完全数が物体を横断再帰的に限定されるものではない示すように指定され、2層であろう。色がtrueの場合、出力フォーマットは、色は、多くの場合、その結果、より美しく、端末を表示するために使用される、ANSIにコード化されます。
特に注目すべきなのutil.inspect単に直接オブジェクトはtoStringメソッド呼び出しを定義していない場合でも、オブジェクトを文字列に変換していない、ということです。
UTILあっ=( 'utilの')を必要とします。
関数人(){
this.name = 'byvoid';
this.toString =関数(){
this.nameを返します。
}。
}
VAR OBJ =新しい人();
console.log(util.inspect(OBJ))。
console.log(util.inspect(OBJ、真));
業績は以下のとおりです。
人{名: 'byvoid' のtoString:[機能]}
人{
名前:「byvoid」
toString:
{ [関数]
[長さ]:0、
[名前]: ''、
[引数]:ヌル、
[発信者]:ヌル、
[プロトタイプ]:{[コンストラクタ]:[円]}}}
util.isArray(オブジェクト)
指定されたパラメータ「オブジェクト」は、配列の場合はそうでない場合はfalse、trueを返します。
UTILあっ=( 'utilの')を必要とします。
util.isArray([])
//真
util.isArray(新しいアレイ)
//真
util.isArray({})
//偽
util.isRegExp(オブジェクト)
指定されたパラメータ「オブジェクト」は、正規表現であればそうでない場合はfalse、trueを返します。
UTILあっ=( 'utilの')を必要とします。
util.isRegExp(/いくつかの正規表現/)
//真
util.isRegExp(新しい正規表現( '別の正規表現'))
//真
util.isRegExp({})
//偽
util.isDate(オブジェクト)
指定されたパラメータ「オブジェクト」は日付がある場合はそうでない場合はfalse、trueを返します。
UTILあっ=( 'utilの')を必要とします。
util.isDate(新しいDate())
//真
util.isDate(日付())
//(「新」文字列を返すせずに)偽
util.isDate({})
//偽
util.isError(オブジェクト)
指定されたパラメータ「オブジェクト」は、エラーオブジェクトがある場合はそれ以外の場合はfalseを返し、trueを返します。
UTILあっ=( 'utilの')を必要とします。
util.isError(新しいError())
//真
util.isError(新しい例外TypeError())
//真
util.isError({名:「エラー」メッセージ:「エラーが発生しました」})
//偽
詳細は、詳細についてはhttp://nodejs.org/api/util.htmlアクセスすることができます。(編集:Leilin鵬出典:削除されたネットワーク侵入)