モジュール基本モジュール

モジュールutil

共通ツールモジュール

物体

LruCache

LRU(最近使用されていない)キャッシュオブジェクト。を参照してください。 LruCache 物体。

1
LruCache util.LruCache;

静的関数

format

指定された形式に従って変数をフォーマットします

1 2
static String util.format(String fmt, ...args);

呼び出しパラメーター:

  • fmt:文字列、フォーマット文字列
  • args:...、オプションのパラメータリスト

戻り結果:

  • String、フォーマットされた文字列を返します

変数のフォーマット

1
static String util.format(...args);

呼び出しパラメーター:

  • args:...、オプションのパラメータリスト

戻り結果:

  • String、フォーマットされた文字列を返します

inherits

あるコンストラクターから別のコンストラクターにプロトタイプ関数を継承します。コンストラクターのプロトタイプは、superConstructorから作成された新しいオブジェクトに設定されます。

1 2
static util.inherits(Value constructor, Value superConstructor);

呼び出しパラメーター:

  • constructor:値、初期コンストラクター
  • superConstructor:値、継承されるスーパークラス

inspect

この関数は、主にデバッグに使用されるobjの文字列表現を返します。追加のオプションを使用して、フォーマット文字列の特定の側面を変更できます。

1 2
static String util.inspect(Value obj, Object options = {});

呼び出しパラメーター:

  • obj:値、処理するオブジェクトを指定します
  • options:オブジェクト、フォーマット制御オプションを指定

戻り結果:

  • String、フォーマットされた文字列を返します

次のパラメーターがサポートされています。

1 2 3 4 5 6
{ "colors": false, // 指定是否输出 ansi 作色字符串,缺省为 false "table": false, // 指定输出 table 格式,缺省为 false "encode_string": true, // 指定表格中的字符串是否编码,缺省为 true "fields": [], // 当 table 为 true 时指定显示字段 }

deprecate

指定された関数をカプセル化します。この関数は互換性があるだけで、警告は出力されません。

1 2 3
static Function util.deprecate(Function fn, String msg, String code = "");

呼び出しパラメーター:

  • fn:カプセル化される関数が与えられた場合の関数
  • msg:文字列、警告メッセージが表示されます
  • code:文字列、指定された警告番号

戻り結果:

  • Function、カプセル化の結果の場合

isEmpty

指定された変数に値が含まれていない(列挙可能な属性がない)かどうかを確認します

1
static Boolean util.isEmpty(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、空の場合はTrueを返します

isArray

指定された変数が配列であるかどうかを確認します

1
static Boolean util.isArray(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、配列の場合はTrueを返します

isBoolean

指定された変数がブール値であるかどうかを確認します

1
static Boolean util.isBoolean(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、ブール値の場合はTrueを返します

isNull

指定された変数がNullかどうかを確認します

1
static Boolean util.isNull(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、Nullの場合はTrueを返します

isNullOrUndefined

指定された変数がNullまたはUndefinedかどうかを確認します

1
static Boolean util.isNullOrUndefined(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、Nullまたは未定義の場合はTrueを返します

isNumber

指定された変数が数値であるかどうかを確認します

1
static Boolean util.isNumber(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、数値の場合はTrueを返します

isBigInt

指定された変数がBigIntであるかどうかを確認します

1
static Boolean util.isBigInt(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、数値の場合はTrueを返します

isString

指定された変数が文字列であるかどうかを確認してください

1
static Boolean util.isString(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、文字列の場合はTrueを返します

isUndefined

指定された変数が未定義かどうかを確認してください

1
static Boolean util.isUndefined(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、未定義の場合はTrueを返します

isRegExp

指定された変数が通常のオブジェクトであるかどうかを確認します

1
static Boolean util.isRegExp(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、通常のオブジェクトの場合はTrueを返します

isObject

指定された変数がオブジェクトであるかどうかを確認します

1
static Boolean util.isObject(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、オブジェクトの場合はTrueを返します

isDate

指定された変数が日付オブジェクトであるかどうかを確認します

1
static Boolean util.isDate(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、日付オブジェクトの場合はTrueを返します

isNativeError

指定された変数が間違ったオブジェクトであるかどうかを確認してください

1
static Boolean util.isNativeError(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、エラーオブジェクトの場合はTrueを返します

isPrimitive

指定された変数がプリミティブ型であるかどうかを確認します

1
static Boolean util.isPrimitive(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、プリミティブ型の場合はTrueを返します

isSymbol

指定された変数がSymbol型であるかどうかを確認します

1
static Boolean util.isSymbol(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、Symbolタイプの場合、Trueを返します

isDataView

指定された変数がDataView型であるかどうかを確認します

1
static Boolean util.isDataView(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、DataViewタイプの場合はTrueを返します

isExternal

指定された変数のタイプがExternalかどうかを確認してください

1
static Boolean util.isExternal(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、外部タイプの場合はTrueを返します

isMap

指定された変数がMap型であるかどうかを確認します

1
static Boolean util.isMap(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、マップタイプの場合はTrueを返します

isMapIterator

指定された変数がMapIterator型であるかどうかを確認します

1
static Boolean util.isMapIterator(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、MapIteratorタイプの場合はTrueを返します

isPromise

指定された変数がPromiseタイプであるかどうかを確認します

1
static Boolean util.isPromise(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、Promiseタイプの場合はTrueを返します

isAsyncFunction

指定された変数がAsyncFunctionタイプであるかどうかを確認します

1
static Boolean util.isAsyncFunction(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、タイプがAsyncFunctionの場合はTrueを返します

isSet

指定された変数がSet型であるかどうかを確認します

1
static Boolean util.isSet(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、Setタイプの場合、Trueを返します

isSetIterator

指定された変数がSetIterator型であるかどうかを確認します

1
static Boolean util.isSetIterator(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、SetIteratorタイプの場合はTrueを返します

isTypedArray

指定された変数がTypedArrayタイプであるかどうかを確認します

1
static Boolean util.isTypedArray(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、TypedArrayタイプの場合、Trueを返します

isUint8Array

指定された変数がUint8Array型であるかどうかを確認します

1
static Boolean util.isUint8Array(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、Uint8Arrayタイプの場合はTrueを返します

isFunction

指定された変数が関数オブジェクトであるかどうかを確認します

1
static Boolean util.isFunction(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、関数オブジェクトの場合はTrueを返します

isBuffer

指定された変数が関数であるかどうかを確認します Buffer 物体

1
static Boolean util.isBuffer(Value v);

呼び出しパラメーター:

  • v:テストする変数を指定した値

戻り結果:

  • Boolean、関数の場合 Buffer オブジェクトはTrueを返します

isDeepEqual

テスト値の深さは期待値と同じです

1 2
static Boolean util.isDeepEqual(Value actual, Value expected);

呼び出しパラメーター:

  • actual:値、テストする値
  • expected:値、期待値

戻り結果:

  • Boolean、深さが等しい場合はTrueを返します

has

指定されたオブジェクトに指定されたキーが含まれているかどうかを照会します

1 2
static Boolean util.has(Value v, String key);

呼び出しパラメーター:

  • v:クエリ対象のオブジェクトを指定した場合の値
  • key:文字列、照会するキーを指定します

戻り結果:

  • Boolean、オブジェクトのすべてのキーの配列を返します

keys

指定されたオブジェクトのすべてのキー配列をクエリします

1
static Array util.keys(Value v);

呼び出しパラメーター:

  • v:クエリ対象のオブジェクトを指定した場合の値

戻り結果:

  • Array、オブジェクトのすべてのキーの配列を返します

values

指定されたオブジェクトのすべての値の配列をクエリします

1
static Array util.values(Value v);

呼び出しパラメーター:

  • v:クエリ対象のオブジェクトを指定した場合の値

戻り結果:

  • Array、オブジェクトのすべての値の配列を返します

clone

指定された変数のクローンを作成します。オブジェクトまたは配列の場合は、コンテンツを新しいオブジェクトにコピーします

1
static Value util.clone(Value v);

呼び出しパラメーター:

  • v:クローンを作成する変数を指定した値

戻り結果:

  • Value、複製された結果を返します

deepFreeze

オブジェクトをディープフリーズします。フリーズされたオブジェクトとそれに含まれるオブジェクトは変更できません。

1
static util.deepFreeze(Value v);

呼び出しパラメーター:

  • v:値、凍結するオブジェクトを指定します

extend

1つ以上のオブジェクトのキー値を指定されたオブジェクトに拡張します

1 2
static Value util.extend(Value v, ...objs);

呼び出しパラメーター:

  • v:値、展開するオブジェクトを指定します
  • objs:...、拡張する1つ以上のオブジェクトを指定します

戻り結果:

  • Value、展開された結果を返します

_extend

1つ以上のオブジェクトのキー値を指定されたオブジェクトに拡張します。これはextendのエイリアスです。

1 2
static Value util._extend(Value v, ...objs);

呼び出しパラメーター:

  • v:値、展開するオブジェクトを指定します
  • objs:...、拡張する1つ以上のオブジェクトを指定します

戻り結果:

  • Value、展開された結果を返します

pick

を返すobjectコピーし、指定されたキーの属性値のみを除外します

1 2
static Object util.pick(Value v, ...objs);

呼び出しパラメーター:

  • v:値、フィルタリングするオブジェクトを指定します
  • objs:...、選択する1つ以上のキーを指定します

戻り結果:

  • Object、フィルタリングされた結果を返します

omit

を返すobjectコピーし、指定されたキーの属性値を除外するだけです

1 2
static Object util.omit(Value v, ...keys);

呼び出しパラメーター:

  • v:値、フィルタリングするオブジェクトを指定します
  • keys:...、除外する1つ以上のキーを指定します

戻り結果:

  • Object、除外された結果を返します

first

配列の最初の要素を取得します

1
static Value util.first(Value v);

呼び出しパラメーター:

  • v:取得する配列を指定した値

戻り結果:

  • Value、取得した要素を返します

配列の最初の複数の要素を取得します

1 2
static Value util.first(Value v, Integer n);

呼び出しパラメーター:

  • v:取得する配列を指定した値
  • n:整数、取得する要素の数を指定します

戻り結果:

  • Value、取得した要素配列を返します

last

配列の最初の要素を取得します

1
static Value util.last(Value v);

呼び出しパラメーター:

  • v:取得する配列を指定した値

戻り結果:

  • Value、取得した要素を返します

配列の最後に複数の要素を取得します

1 2
static Value util.last(Value v, Integer n);

呼び出しパラメーター:

  • v:取得する配列を指定した値
  • n:整数、取得する要素の数を指定します

戻り結果:

  • Value、取得した要素配列を返します

unique

重複排除後に配列の要素のコピーを取得します

1 2
static Array util.unique(Value v, Boolean sorted = false);

呼び出しパラメーター:

  • v:重複排除する配列を指定した場合の値
  • sorted:ブール値。配列を並べ替えるかどうかを指定します。配列を並べ替えるように指定した場合は、高速アルゴリズムが使用されます。

戻り結果:

  • Array、重複排除後に配列を返します

union

1つ以上の配列の値を一意の値を持つ配列に結合します

1
static Array util.union(...arrs);

呼び出しパラメーター:

  • arrs:...、マージする1つ以上の配列を指定します

戻り結果:

  • Array、マージされた結果を返します

intersection

arrを含み、1つ以上の配列要素を除外した配列の共通部分を返します

1
static Array util.intersection(...arrs);

呼び出しパラメーター:

  • arrs:...、交差を計算するための1つ以上の配列を指定します

戻り結果:

  • Array、交差点の計算結果を返します

flatten

複数レベルのネスト(ネストは任意の数のレベルにすることができます)を持つ配列を、1つのレベルのみを持つ配列に変換します。浅いパラメーターを渡すと、配列は1次元のネストのみを減らします。

1 2
static Array util.flatten(Value arr, Boolean shallow = false);

呼び出しパラメーター:

  • arr:値、変換する配列を指定します
  • shallow:ブール値。1次元のネストのみを減らすかどうかを指定します。デフォルトはfalseです。

戻り結果:

  • Array、変換の結果を返します

without

arr配列から除外された1つ以上の要素を含む配列を返します

1 2
static Array util.without(Value arr, ...els);

呼び出しパラメーター:

  • arr:値、除外する配列を指定します
  • els:...、除外する1つ以上の要素を指定します

戻り結果:

  • Array、除外された結果を返します

difference

arr配列を含み、配列なし要素を除外する配列を返します

1 2
static Array util.difference(Array list, ...arrs);

呼び出しパラメーター:

  • list:配列、除外する配列を指定します
  • arrs:...、除外する1つ以上の配列を指定します

戻り結果:

  • Array、除外された結果を返します

each

リスト内のすべての要素をトラバースし、トラバーサルの順序で各要素を出力します。コンテキストパラメータが渡されると、イテレータはコンテキストオブジェクトにバインドされます。イテレータを呼び出すたびに、次の3つのパラメータが渡されます:(要素、インデックス、リスト)

1 2 3
static Value util.each(Value list, Function iterator, Value context = undefined);

呼び出しパラメーター:

  • list:値、トラバースするリストまたはオブジェクトを指定します
  • iterator:関数、トラバーサルに使用されるコールバック関数を指定します
  • context:値、イテレータを呼び出すときにバインドされたコンテキストオブジェクトを指定します

戻り結果:

  • Value、リスト自体を返します

map

変換関数(イテレーター)を介して、リスト内の各値が新しい配列にマップされます。コンテキストパラメータが渡されると、イテレータはコンテキストオブジェクトにバインドされます。イテレータを呼び出すたびに、次の3つのパラメータが渡されます:(要素、インデックス、リスト)

1 2 3
static Array util.map(Value list, Function iterator, Value context = undefined);

呼び出しパラメーター:

  • list:値、変換するリストまたはオブジェクトを指定します
  • iterator:関数、変換に使用されるコールバック関数を指定します
  • context:値、イテレータを呼び出すときにバインドされたコンテキストオブジェクトを指定します

戻り結果:

  • Array、変換の結果を返します

reduce

リスト内の要素を単一の値に減らします。コンテキストパラメータが渡されると、イテレータはコンテキストオブジェクトにバインドされます。イテレータを呼び出すたびに、次の3つのパラメータが渡されます:(メモ、要素、インデックス、リスト)

1 2 3 4
static Value util.reduce(Value list, Function iterator, Value memo, Value context = undefined);

呼び出しパラメーター:

  • list:値、解決するリストまたはオブジェクトを指定します
  • iterator:関数、解決に使用されるコールバック関数を指定します
  • memo:値、解像度の初期値を指定します
  • context:値、イテレータを呼び出すときにバインドされたコンテキストオブジェクトを指定します

戻り結果:

  • Value、解決の結果を返します

parseArgs

コマンドライン文字列を解析し、パラメータリストを返します

1
static NArray util.parseArgs(String command);

呼び出しパラメーター:

  • command:文字列、解析するコマンドライン文字列を指定します

戻り結果:

  • NArray、解析されたパラメータリストを返します

compile

スクリプトをバイナリコードとしてコンパイルする

1 2 3
static Buffer util.compile(String srcname, String script, Integer mode = 0);

呼び出しパラメーター:

  • srcname:文字列、追加するスクリプトの名前を指定します
  • script:文字列、コンパイルするスクリプトコードを指定します
  • mode:整数、コンパイルモード、0:モジュール、1:スクリプト、2:ワーカー、デフォルトは0

戻り結果:

  • Buffer、コンパイルされたバイナリコードを返します

util.compileスクリプトは、v8内部実行データブロック(マシン以外の実行コード)にコンパイルできます。コンパイルされたコードは* .jscとして保存された後、runおよびrequireによって直接ロードおよび実行できます。

コンパイル後、ターゲットコードはソースコードを逆に取得できなくなり、Function.toStringに依存するプログラムは正常に実行されなくなります。


sync

コールバックまたは非同期関数を同期呼び出しとしてラップします

1 2
static Function util.sync(Function func, Boolean async_func = false);

呼び出しパラメーター:

  • func:関数、ラップする必要のある関数を指定
  • async_func:ブール値、funcを非同期関数として処理するように指定します。falseの場合、自動的に判断されます

戻り結果:

  • Function、同期的に実行される関数を返します

util.sync コールバック関数または非同期関数を、簡単に呼び出せるように同期関数として扱います。

コールバックの例は次のとおりです。

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.sync(cb_test); console.log(fn_sync(100, 200));

非同期の例は次のとおりです。

1 2 3 4 5 6 7 8 9
// async/await var util = require('util'); async function async_test(a, b) { return a + b; } var fn_sync = util.sync(async_test); console.log(fn_sync(100, 200));

非同期としてマークされていないpromiseを返す関数の場合、同期モードを手動で指定できます。

1 2 3 4 5 6 7 8 9 10 11
// async/await var util = require('util'); function async_test(a, b) { return new Promise(function(resolve, reject) { resolve(a + b); }); } var fn_sync = util.sync(async_test, true); console.log(fn_sync(100, 200));

promisify

コールバック関数を非同期呼び出しとしてラップします

1
static Function util.promisify(Function func);

呼び出しパラメーター:

  • func:関数、ラップする必要のある関数を指定

戻り結果:

  • Function、非同期関数を返します

util.promisify コールバック関数を簡単に呼び出すための非同期関数として扱います。

コールバックの例は次のとおりです。

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.promisify(cb_test); console.log(async fn_sync(100, 200));

callbackify

非同期関数をコールバック呼び出しとしてラップします

1
static Function util.callbackify(Function func);

呼び出しパラメーター:

  • func:関数、ラップする必要のある関数を指定

戻り結果:

  • Function、コールバック関数を返します

util.callbackify 簡単に呼び出せるように、非同期関数をコールバック関数として扱います。

非同期の例は次のとおりです。

1 2 3 4 5 6 7 8 9 10 11 12
// async var util = require('util'); async function async_test(a, b) { return a + b; } var fn_callback = util.callbackify(async_test); fn_callback(100, 200, (err, result) => { console.log(result); });

buildInfo

現在のエンジンとコンポーネントのバージョン情報を照会する

1
static Object util.buildInfo();

戻り結果:

  • Object、コンポーネントバージョンオブジェクトを返します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ "fibjs": "0.25.0", "clang": "9.1", "date": "Jun 12 2018 07:22:40", "vender": { "ev": "4.24", "expat": "2.2.5", "gd": "2.2.4", "jpeg": "8.3", "leveldb": "1.17", "mongo": "0.7", "pcre": "8.21", "png": "1.5.4", "mbedtls": "2.6.1", "snappy": "1.1.2", "sqlite": "3.23.0", "tiff": "3.9.5", "uuid": "1.6.2", "v8": "6.7.288.20", "v8-snapshot": true, "zlib": "1.2.7", "zmq": "3.1" } }