NodeJS入門-ツール(util)

9082 ワード

使用例:
console.log(require('util').format('%s:%s', 'foo'));//?
console.log(require('util').format('%s:%s', 'foo', 'bar', 'baz'));//?
require('util').debug('message on stderr');
require('util').log('Timestamped message.');
//util.inspect(object,[showHidden],[depth],[cors])は、デバッグのためにobjectの文字列表現を返します.
//showHiddenがtrueの場合、オブジェクトの数え切れないプロパティも表示されます.
//depthが提供されている場合は、複雑なオブジェクトを表示するときにinspectが再帰するレイヤを指定します.
//デフォルトは2階建てのみです.無限に再帰する場合は、depthにnullを渡します.
//If colors is true, the output will be styled with ANSI color codes. Defaults to false.
var util = require('util');
//console.log(util.inspect(util, true, null));
//util.isArray(object)Returns true if the given "object"is an Array. false otherwise.
console.log(util.isArray([]));
console.log(util.isArray(new Array));
console.log(util.isArray({}));
//与えられたオブジェクトが正規表現かどうかを判断します.
console.log(util.isRegExp(/some regexp/));
console.log(util.isRegExp(new RegExp('another regexp')));
console.log(util.isRegExp({}));
console.log(util.isDate(new Date()));
console.log(util.isDate(Date()));//false (without 'new' returns a String)
console.log(util.isDate({}));//false
util
util.format()
util.debug(string)
util.log(string)
util.inspect(object, showHidden=false, depth=2)
util.isArray(object)
util.isRegExp(object)
util.isDate(object)
util.isError(object)
util.pump(readableStream, writableStream, [callback])
util.inherits(constructor, superConstructor)
 
util紹介
 
これらの機能関数はモジュール'util'に配置されます.で、require('util')を使用してアクセスします.
util.format()
フォーマットされた最初のパラメータを返す文字列はprintfと似ています.
最初のパラメータは、数値または他のプレースホルダを含む文字列です.各プレースホルダは、対応するパラメータで置き換えられます.サポートされるプレースホルダには、次のものがあります. %s  - String. %d  - Number(integerとfloatを含む) %j  - JSON. %%  - 1パーセント('%')です.これはパラメータを消費しません.プレースホルダに対応するパラメータがない場合、このプレースホルダは置き換えられません.


util.format('%s:%s', 'foo'); // 'foo:%s'

パラメータ個数が余分なプレースホルダ個数の場合、余分なパラメータが使用されますutil.inspect() 文字列に変換して最初のパラメータ文字列に追加します.


util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'

現在フォーマットするパラメータがない場合.すべてのパラメータが結合された文字列が返され、結合文字列の間がスペースで区切られます.使用util.inspect() 文字列に変換します.


util.format(1, 2, 3); // '1 2 3'

util.debug(string)
同期出力関数.標準エラー(stderr)に遭遇すると、プロセス(process)と出力(output)がブロックされます.


require('util').debug('message on stderr');

util.log(string) 
タイムスタンプ付き標準出力.


require('util').log('Timestamped message.');     : 7 Dec 00:24:04 - ss 

util.inspect(object, showHidden=false, depth=2) 
オブジェクトの文字列形式を返すのは、デバッグで役立ちます.
showHiddenがtrueの場合、オブジェクトの列挙されていないタイプのプロパティが表示されます.
depthの値が与えられた場合、彼はinspectオブジェクトをフォーマットするときに何回再帰するかを教えた.大規模で複雑なオブジェクトをチェックするのに役立ちます.
デフォルトは2回に再帰されます.null値をdepathに無限に再帰させます.


var util = require('util');

console.log(util.inspect(util, true, null));

util.isArray(object)
 
指定したオブジェクトobjectが配列であるかどうかを返します.


var util = require('util');

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

util.isRegExp(object)
与えられたオブジェクトが正規表現であるかどうかを判断します.


var util = require('util');

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

util.isDate(object)
指定したオブジェクトが日付かどうかを判断する


var util = require('util');

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

util.isError(object)
オブジェクトがErrorであるかどうかを判断する


var util = require('util');

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

util.pump(readableStream, writableStream, [callback]) 
じっけんreadableStreamデータを読み出してwritableStreamに送信すると、writableStream.write(data)falseに戻るreadableStream writableStreamcallback・・のdrainエラー が び されます.
util.inherits(constructor, superConstructor)
1つのコンストラクション から のオリジナルメソッドを します. しいオブジェクトが されると、 コンストラクション (スーパークラス)からコンストラクション の の が されます.
の として、スーパークラス.super_ property.


var util = require("util");
var events = require("events");

function MyStream() {
    events.EventEmitter.call(this);
}

util.inherits(MyStream, events.EventEmitter);

MyStream.prototype.write = function(data) {
    this.emit("data", data);
}

var stream = new MyStream();

console.log(stream instanceof events.EventEmitter); // true
console.log(MyStream.super_ === events.EventEmitter); // true

stream.on("data", function(data) {
    console.log('Received data: "' + data + '"');
})
stream.write("It works!"); // Received data: "It works!"