モジュールutil
共通ツールモジュール
物体
LruCache
LRU(最近使用されていない)キャッシュオブジェクト。を参照してください。 LruCache 物体。
1LruCache util.LruCache;
静的関数
format
指定された形式に従って変数をフォーマットします
1
2static String util.format(String fmt,
...args);
呼び出しパラメーター:
- fmt:文字列、フォーマット文字列
- args:...、オプションのパラメータリスト
戻り結果:
- String、フォーマットされた文字列を返します
変数のフォーマット
1static String util.format(...args);
呼び出しパラメーター:
- args:...、オプションのパラメータリスト
戻り結果:
- String、フォーマットされた文字列を返します
inherits
あるコンストラクターから別のコンストラクターにプロトタイプ関数を継承します。コンストラクターのプロトタイプは、superConstructorから作成された新しいオブジェクトに設定されます。
1
2static util.inherits(Value constructor,
Value superConstructor);
呼び出しパラメーター:
- constructor:値、初期コンストラクター
- superConstructor:値、継承されるスーパークラス
inspect
この関数は、主にデバッグに使用されるobjの文字列表現を返します。追加のオプションを使用して、フォーマット文字列の特定の側面を変更できます。
1
2static 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
3static Function util.deprecate(Function fn,
String msg,
String code = "");
呼び出しパラメーター:
- fn:カプセル化される関数が与えられた場合の関数
- msg:文字列、警告メッセージが表示されます
- code:文字列、指定された警告番号
戻り結果:
- Function、カプセル化の結果の場合
isEmpty
指定された変数に値が含まれていない(列挙可能な属性がない)かどうかを確認します
1static Boolean util.isEmpty(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、空の場合はTrueを返します
isArray
指定された変数が配列であるかどうかを確認します
1static Boolean util.isArray(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、配列の場合はTrueを返します
isBoolean
指定された変数がブール値であるかどうかを確認します
1static Boolean util.isBoolean(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、ブール値の場合はTrueを返します
isNull
指定された変数がNullかどうかを確認します
1static Boolean util.isNull(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、Nullの場合はTrueを返します
isNullOrUndefined
指定された変数がNullまたはUndefinedかどうかを確認します
1static Boolean util.isNullOrUndefined(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、Nullまたは未定義の場合はTrueを返します
isNumber
指定された変数が数値であるかどうかを確認します
1static Boolean util.isNumber(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、数値の場合はTrueを返します
isBigInt
指定された変数がBigIntであるかどうかを確認します
1static Boolean util.isBigInt(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、数値の場合はTrueを返します
isString
指定された変数が文字列であるかどうかを確認してください
1static Boolean util.isString(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、文字列の場合はTrueを返します
isUndefined
指定された変数が未定義かどうかを確認してください
1static Boolean util.isUndefined(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、未定義の場合はTrueを返します
isRegExp
指定された変数が通常のオブジェクトであるかどうかを確認します
1static Boolean util.isRegExp(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、通常のオブジェクトの場合はTrueを返します
isObject
指定された変数がオブジェクトであるかどうかを確認します
1static Boolean util.isObject(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、オブジェクトの場合はTrueを返します
isDate
指定された変数が日付オブジェクトであるかどうかを確認します
1static Boolean util.isDate(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、日付オブジェクトの場合はTrueを返します
isNativeError
指定された変数が間違ったオブジェクトであるかどうかを確認してください
1static Boolean util.isNativeError(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、エラーオブジェクトの場合はTrueを返します
isPrimitive
指定された変数がプリミティブ型であるかどうかを確認します
1static Boolean util.isPrimitive(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、プリミティブ型の場合はTrueを返します
isSymbol
指定された変数がSymbol型であるかどうかを確認します
1static Boolean util.isSymbol(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、Symbolタイプの場合、Trueを返します
isDataView
指定された変数がDataView型であるかどうかを確認します
1static Boolean util.isDataView(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、DataViewタイプの場合はTrueを返します
isExternal
指定された変数のタイプがExternalかどうかを確認してください
1static Boolean util.isExternal(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、外部タイプの場合はTrueを返します
isMap
指定された変数がMap型であるかどうかを確認します
1static Boolean util.isMap(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、マップタイプの場合はTrueを返します
isMapIterator
指定された変数がMapIterator型であるかどうかを確認します
1static Boolean util.isMapIterator(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、MapIteratorタイプの場合はTrueを返します
isPromise
指定された変数がPromiseタイプであるかどうかを確認します
1static Boolean util.isPromise(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、Promiseタイプの場合はTrueを返します
isAsyncFunction
指定された変数がAsyncFunctionタイプであるかどうかを確認します
1static Boolean util.isAsyncFunction(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、タイプがAsyncFunctionの場合はTrueを返します
isSet
指定された変数がSet型であるかどうかを確認します
1static Boolean util.isSet(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、Setタイプの場合、Trueを返します
isSetIterator
指定された変数がSetIterator型であるかどうかを確認します
1static Boolean util.isSetIterator(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、SetIteratorタイプの場合はTrueを返します
isTypedArray
指定された変数がTypedArrayタイプであるかどうかを確認します
1static Boolean util.isTypedArray(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、TypedArrayタイプの場合、Trueを返します
isUint8Array
指定された変数がUint8Array型であるかどうかを確認します
1static Boolean util.isUint8Array(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、Uint8Arrayタイプの場合はTrueを返します
isFunction
指定された変数が関数オブジェクトであるかどうかを確認します
1static Boolean util.isFunction(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、関数オブジェクトの場合はTrueを返します
isBuffer
指定された変数が関数であるかどうかを確認します Buffer 物体
1static Boolean util.isBuffer(Value v);
呼び出しパラメーター:
- v:テストする変数を指定した値
戻り結果:
- Boolean、関数の場合 Buffer オブジェクトはTrueを返します
isDeepEqual
テスト値の深さは期待値と同じです
1
2static Boolean util.isDeepEqual(Value actual,
Value expected);
呼び出しパラメーター:
- actual:値、テストする値
- expected:値、期待値
戻り結果:
- Boolean、深さが等しい場合はTrueを返します
has
指定されたオブジェクトに指定されたキーが含まれているかどうかを照会します
1
2static Boolean util.has(Value v,
String key);
呼び出しパラメーター:
- v:クエリ対象のオブジェクトを指定した場合の値
- key:文字列、照会するキーを指定します
戻り結果:
- Boolean、オブジェクトのすべてのキーの配列を返します
keys
指定されたオブジェクトのすべてのキー配列をクエリします
1static Array util.keys(Value v);
呼び出しパラメーター:
- v:クエリ対象のオブジェクトを指定した場合の値
戻り結果:
- Array、オブジェクトのすべてのキーの配列を返します
values
指定されたオブジェクトのすべての値の配列をクエリします
1static Array util.values(Value v);
呼び出しパラメーター:
- v:クエリ対象のオブジェクトを指定した場合の値
戻り結果:
- Array、オブジェクトのすべての値の配列を返します
clone
指定された変数のクローンを作成します。オブジェクトまたは配列の場合は、コンテンツを新しいオブジェクトにコピーします
1static Value util.clone(Value v);
呼び出しパラメーター:
- v:クローンを作成する変数を指定した値
戻り結果:
- Value、複製された結果を返します
deepFreeze
オブジェクトをディープフリーズします。フリーズされたオブジェクトとそれに含まれるオブジェクトは変更できません。
1static util.deepFreeze(Value v);
呼び出しパラメーター:
- v:値、凍結するオブジェクトを指定します
extend
1つ以上のオブジェクトのキー値を指定されたオブジェクトに拡張します
1
2static Value util.extend(Value v,
...objs);
呼び出しパラメーター:
- v:値、展開するオブジェクトを指定します
- objs:...、拡張する1つ以上のオブジェクトを指定します
戻り結果:
- Value、展開された結果を返します
_extend
1つ以上のオブジェクトのキー値を指定されたオブジェクトに拡張します。これはextendのエイリアスです。
1
2static Value util._extend(Value v,
...objs);
呼び出しパラメーター:
- v:値、展開するオブジェクトを指定します
- objs:...、拡張する1つ以上のオブジェクトを指定します
戻り結果:
- Value、展開された結果を返します
pick
を返すobjectコピーし、指定されたキーの属性値のみを除外します
1
2static Object util.pick(Value v,
...objs);
呼び出しパラメーター:
- v:値、フィルタリングするオブジェクトを指定します
- objs:...、選択する1つ以上のキーを指定します
戻り結果:
- Object、フィルタリングされた結果を返します
omit
を返すobjectコピーし、指定されたキーの属性値を除外するだけです
1
2static Object util.omit(Value v,
...keys);
呼び出しパラメーター:
- v:値、フィルタリングするオブジェクトを指定します
- keys:...、除外する1つ以上のキーを指定します
戻り結果:
- Object、除外された結果を返します
first
配列の最初の要素を取得します
1static Value util.first(Value v);
呼び出しパラメーター:
- v:取得する配列を指定した値
戻り結果:
- Value、取得した要素を返します
配列の最初の複数の要素を取得します
1
2static Value util.first(Value v,
Integer n);
呼び出しパラメーター:
- v:取得する配列を指定した値
- n:整数、取得する要素の数を指定します
戻り結果:
- Value、取得した要素配列を返します
last
配列の最初の要素を取得します
1static Value util.last(Value v);
呼び出しパラメーター:
- v:取得する配列を指定した値
戻り結果:
- Value、取得した要素を返します
配列の最後に複数の要素を取得します
1
2static Value util.last(Value v,
Integer n);
呼び出しパラメーター:
- v:取得する配列を指定した値
- n:整数、取得する要素の数を指定します
戻り結果:
- Value、取得した要素配列を返します
unique
重複排除後に配列の要素のコピーを取得します
1
2static Array util.unique(Value v,
Boolean sorted = false);
呼び出しパラメーター:
- v:重複排除する配列を指定した場合の値
- sorted:ブール値。配列を並べ替えるかどうかを指定します。配列を並べ替えるように指定した場合は、高速アルゴリズムが使用されます。
戻り結果:
- Array、重複排除後に配列を返します
union
1つ以上の配列の値を一意の値を持つ配列に結合します
1static Array util.union(...arrs);
呼び出しパラメーター:
- arrs:...、マージする1つ以上の配列を指定します
戻り結果:
- Array、マージされた結果を返します
intersection
arrを含み、1つ以上の配列要素を除外した配列の共通部分を返します
1static Array util.intersection(...arrs);
呼び出しパラメーター:
- arrs:...、交差を計算するための1つ以上の配列を指定します
戻り結果:
- Array、交差点の計算結果を返します
flatten
複数レベルのネスト(ネストは任意の数のレベルにすることができます)を持つ配列を、1つのレベルのみを持つ配列に変換します。浅いパラメーターを渡すと、配列は1次元のネストのみを減らします。
1
2static Array util.flatten(Value arr,
Boolean shallow = false);
呼び出しパラメーター:
- arr:値、変換する配列を指定します
- shallow:ブール値。1次元のネストのみを減らすかどうかを指定します。デフォルトはfalseです。
戻り結果:
- Array、変換の結果を返します
without
arr配列から除外された1つ以上の要素を含む配列を返します
1
2static Array util.without(Value arr,
...els);
呼び出しパラメーター:
- arr:値、除外する配列を指定します
- els:...、除外する1つ以上の要素を指定します
戻り結果:
- Array、除外された結果を返します
difference
arr配列を含み、配列なし要素を除外する配列を返します
1
2static Array util.difference(Array list,
...arrs);
呼び出しパラメーター:
- list:配列、除外する配列を指定します
- arrs:...、除外する1つ以上の配列を指定します
戻り結果:
- Array、除外された結果を返します
each
リスト内のすべての要素をトラバースし、トラバーサルの順序で各要素を出力します。コンテキストパラメータが渡されると、イテレータはコンテキストオブジェクトにバインドされます。イテレータを呼び出すたびに、次の3つのパラメータが渡されます:(要素、インデックス、リスト)
1
2
3static Value util.each(Value list,
Function iterator,
Value context = undefined);
呼び出しパラメーター:
- list:値、トラバースするリストまたはオブジェクトを指定します
- iterator:関数、トラバーサルに使用されるコールバック関数を指定します
- context:値、イテレータを呼び出すときにバインドされたコンテキストオブジェクトを指定します
戻り結果:
- Value、リスト自体を返します
map
変換関数(イテレーター)を介して、リスト内の各値が新しい配列にマップされます。コンテキストパラメータが渡されると、イテレータはコンテキストオブジェクトにバインドされます。イテレータを呼び出すたびに、次の3つのパラメータが渡されます:(要素、インデックス、リスト)
1
2
3static Array util.map(Value list,
Function iterator,
Value context = undefined);
呼び出しパラメーター:
- list:値、変換するリストまたはオブジェクトを指定します
- iterator:関数、変換に使用されるコールバック関数を指定します
- context:値、イテレータを呼び出すときにバインドされたコンテキストオブジェクトを指定します
戻り結果:
- Array、変換の結果を返します
reduce
リスト内の要素を単一の値に減らします。コンテキストパラメータが渡されると、イテレータはコンテキストオブジェクトにバインドされます。イテレータを呼び出すたびに、次の3つのパラメータが渡されます:(メモ、要素、インデックス、リスト)
1
2
3
4static Value util.reduce(Value list,
Function iterator,
Value memo,
Value context = undefined);
呼び出しパラメーター:
- list:値、解決するリストまたはオブジェクトを指定します
- iterator:関数、解決に使用されるコールバック関数を指定します
- memo:値、解像度の初期値を指定します
- context:値、イテレータを呼び出すときにバインドされたコンテキストオブジェクトを指定します
戻り結果:
- Value、解決の結果を返します
parseArgs
コマンドライン文字列を解析し、パラメータリストを返します
1static NArray util.parseArgs(String command);
呼び出しパラメーター:
- command:文字列、解析するコマンドライン文字列を指定します
戻り結果:
- NArray、解析されたパラメータリストを返します
compile
スクリプトをバイナリコードとしてコンパイルする
1
2
3static 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
2static 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
コールバック関数を非同期呼び出しとしてラップします
1static 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
非同期関数をコールバック呼び出しとしてラップします
1static 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
現在のエンジンとコンポーネントのバージョン情報を照会する
1static 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"
}
}