모듈 기본 모듈

모듈 활용

공통 도구 모듈

물체

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: Value, 초기 생성자
  • superConstructor: Value, 상속받을 슈퍼클래스

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

주어진 변수가 Boolean인지 확인

1
static Boolean util.isBoolean(Value v);

호출 매개변수:

  • v: 테스트할 변수가 주어진 값

반환 결과:

  • Boolean, 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

주어진 변수가 외부 유형인지 확인하십시오.

1
static Boolean util.isExternal(Value v);

호출 매개변수:

  • v: 테스트할 변수가 주어진 값

반환 결과:

  • Boolean, 외부 유형이면 True를 반환합니다.

isMap

주어진 변수가 Map 유형인지 확인하십시오.

1
static Boolean util.isMap(Value v);

호출 매개변수:

  • v: 테스트할 변수가 주어진 값

반환 결과:

  • Boolean, Map 타입이면 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 2
static Value util.extend(Value v, ...objs);

호출 매개변수:

  • v: 값, 확장할 개체 지정
  • objs: ..., 확장할 개체를 하나 이상 지정합니다.

반환 결과:

  • Value, 확장된 결과를 반환합니다.

_extend

하나 이상의 개체의 키 값을 확장의 별칭인 지정된 개체로 확장합니다.

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

호출 매개변수:

  • v: 값, 확장할 개체 지정
  • objs: ..., 확장할 개체를 하나 이상 지정합니다.

반환 결과:

  • Value, 확장된 결과를 반환합니다.

pick

반환object복사, 지정된 키의 속성 값만 필터링

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

호출 매개변수:

  • v: 값, 필터링할 개체 지정
  • objs: ..., 선택할 키를 하나 이상 지정합니다.

반환 결과:

  • Object, 필터링된 결과 반환

omit

반환object복사, 지정된 키의 속성 값만 제외

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

호출 매개변수:

  • v: 값, 필터링할 개체 지정
  • keys: ..., 제외할 하나 이상의 키 지정

반환 결과:

  • 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: Boolean, 배열의 정렬 여부를 지정하고, 배열이 정렬되도록 지정하면 빠른 알고리즘이 사용됩니다.

반환 결과:

  • Array, 중복 제거 후 어레이 반환

union

하나 이상의 배열 값을 고유한 값을 가진 배열로 결합

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

호출 매개변수:

  • arrs: ..., 병합할 하나 이상의 배열을 지정합니다.

반환 결과:

  • Array, 병합된 결과 반환

intersection

arr을 포함하고 하나 이상의 배열 요소를 제외한 배열의 교집합을 반환합니다.

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

호출 매개변수:

  • arrs: ..., 교차를 계산하기 위해 하나 이상의 배열을 지정합니다.

반환 결과:

  • Array, 교집합을 계산한 결과를 반환합니다.

flatten

여러 수준의 중첩이 있는 배열(중첩은 여러 수준이 될 수 있음)을 한 수준만 있는 배열로 변환합니다. 얕은 매개변수를 전달하면 배열은 1차원 중첩만 줄입니다.

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

호출 매개변수:

  • arr: 값, 변환할 배열 지정
  • shallow: 부울, 1차원 중첩만 줄일지 여부를 지정합니다. 기본값은 false입니다.

반환 결과:

  • Array, 변환 결과를 반환

without

arr 배열에서 제외된 하나 이상의 요소를 포함하는 배열을 반환합니다.

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

호출 매개변수:

  • arr: 값, 제외할 배열 지정
  • els: ..., 제외할 요소를 하나 이상 지정합니다.

반환 결과:

  • Array, 제외된 결과를 반환합니다.

difference

arr 배열을 포함하고 없는 배열 요소를 제외하는 배열을 반환합니다.

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

호출 매개변수:

  • list: 배열, 제외할 배열 지정
  • arrs: ..., 제외할 배열을 하나 이상 지정합니다.

반환 결과:

  • Array, 제외된 결과를 반환합니다.

each

목록의 모든 요소를 ​​순회하고 순회를 사용하여 각 요소를 순서대로 출력합니다. 컨텍스트 매개변수가 전달되면 반복자는 컨텍스트 객체에 바인딩됩니다. iterator에 대한 각 호출은 세 개의 매개변수를 전달합니다: (요소, 색인, 목록)

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

호출 매개변수:

  • list: 값, 순회할 목록 또는 개체를 지정합니다.
  • iterator: 함수, 순회에 사용되는 콜백 함수 지정
  • context: 값, 반복자를 호출할 때 바인딩된 컨텍스트 개체를 지정합니다.

반환 결과:

  • Value, 목록 자체를 반환

map

변환 함수(반복자)를 통해 목록의 각 값이 새 배열에 매핑됩니다. 컨텍스트 매개변수가 전달되면 반복자는 컨텍스트 객체에 바인딩됩니다. iterator에 대한 각 호출은 세 개의 매개변수를 전달합니다: (요소, 색인, 목록)

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

호출 매개변수:

  • list: 값, 변환할 목록 또는 개체를 지정합니다.
  • iterator: 함수, 변환에 사용되는 콜백 함수 지정
  • context: 값, 반복자를 호출할 때 바인딩된 컨텍스트 개체를 지정합니다.

반환 결과:

  • Array, 변환 결과를 반환합니다.

reduce

목록의 요소를 단일 값으로 줄입니다. 컨텍스트 매개변수가 전달되면 반복자는 컨텍스트 객체에 바인딩됩니다. iterator에 대한 각 호출은 세 개의 매개변수를 전달합니다: (memo, element, index, list)

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: Boolean, 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));

비동기로 표시되지 않은 약속을 반환하는 함수의 경우 동기화 모드를 수동으로 지정할 수 있습니다.

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" } }