Mòdul mòdul bàsic

Mòdul util

El mòdul d'utilitat proporciona funcions d'eines pràctiques com ara el judici del tipus de dades, la còpia d'atributs d'objectes, l'anàlisi de cadenes de plantilles i el processament d'esdeveniments.

La següent és una introducció específica i exemples:

  1. Determina el tipus de dades: util.is[type] aquest mòdul proporciona mètodes com ara isDate, isRegExp, isErroretc. per determinar el tipus de dades dels paràmetres entrants, per exemple:
1 2 3
var util = require('util'); console.log(util.isDate(new Date())); console.log(util.isRegExp(/some regexp/));
  1. Còpia de propietats d'objectes: util.inherits() aquest mètode pot heretar opcionalment un constructor d'un altre, implementant així l'herència prototípica.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
var util = require('util'); function Animal() { this.name = 'Animal'; this.sleep = function() { console.log(this.name + '正在睡觉!'); } } Animal.prototype.eat = function(food) { console.log(this.name + '正在吃:' + food); }; function Cat() { this.name = 'cat'; } util.inherits(Cat, Animal);

Utilitzeu Cataquest constructor per heretar Animalles propietats de la instància i les propietats del prototip de , i imprimir Catles propietats i els mètodes de la instància.

1 2 3 4
var cat = new Cat(); console.log(cat.name); console.log(cat.eat('fish')); console.log(cat.sleep());
  1. util.format() Plantilla de sortida amb format
1 2 3 4 5
const util = require('util'); const str1 = util.format('%s:%s', 'foo'); const str2 = util.format('%s:%s', 'foo', 'bar', 'baz'); console.log(str1) // => 'foo:%s' console.log(str2) // => 'foo:bar baz'

Els anteriors són utilalguns mètodes comuns de mòduls, que sovint es poden utilitzar per simplificar el procés de desenvolupament real.

objecte

LruCache

Objecte de memòria cau LRU (utilitzat menys recentment), vegeuLruCacheobjecte.

1
LruCache util.LruCache;

TextDecoder

TextDecoderobjecte de descodificació, vegeuTextDecoderobjecte.

1
TextDecoder util.TextDecoder;

TextEncoder

TextEncoderCodificació d'objectes, vegeuTextEncoderobjecte.

1
TextEncoder util.TextEncoder;

types

typesEl mòdul proporciona funcions d'eina per determinar els tipus de dades.

1
types util.types;

funció estàtica

format

Formateu les variables segons el format especificat

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

Paràmetres de trucada:

  • fmt: String, format string
  • args: ..., llista de paràmetres opcional

Resultats de retorn:

  • String, retorna la cadena amb format

format format variable

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

Paràmetres de trucada:

  • args: ..., llista de paràmetres opcional

Resultats de retorn:

  • String, retorna la cadena amb format

inherits

Hereta les funcions del prototip d'un constructor a un altre. El prototip del constructor s'establirà en un objecte nou creat a partir de la superclasse (superConstructor).

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

Paràmetres de trucada:

  • constructor: Valor, constructor inicial
  • superConstructor: Value, la superclasse heretada

inspect

La funció retorna la representació de cadena d'obj, utilitzada principalment per a la depuració. Es poden utilitzar opcions addicionals per canviar certs aspectes de la cadena formatada.

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

Paràmetres de trucada:

  • obj: Valor, especifica l'objecte a processar
  • options: Objecte, especifica les opcions de control de format

Resultats de retorn:

  • String, retorna la cadena amb format

S'admeten els paràmetres següents:

1 2 3 4 5 6 7 8 9
{ "colors": false, // specify if output should be colorized, defaults to false "depth": 2, // specify the max depth of the output, defaults to 2 "table": false, // specify if output should be a table, defaults to false "encode_string": true, // specify if string should be encoded, defaults to true "maxArrayLength": 100, // specify max number of array elements to show, set to 0 or negative to show no elements, defaults to 100 "maxStringLength": 10000, // specify max string length to output, set to 0 or negative to show no strings, defaults to 10000 "fields": [], // specify the fields to be displayed, defaults to all }

deprecate

Encapsula la funció donada. Aquesta funció només és compatible i no genera advertències.

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

Paràmetres de trucada:

  • fn: Funció, donada la funció que cal encapsular
  • msg: Cadena, missatge d'avís donat
  • code: Cadena, número d'avís donat

Resultats de retorn:

  • Function, si el resultat de l'encapsulació

isEmpty

Comprova si la variable donada no conté cap valor (no hi ha propietats enumerables)

1
static Boolean util.isEmpty(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si està buit

isArray

Comprova si la variable donada és una matriu

1
static Boolean util.isArray(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és una matriu

isBoolean

Comprova si la variable donada és booleana

1
static Boolean util.isBoolean(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és booleà, retorna True

isNull

Comprova si la variable donada és nul·la

1
static Boolean util.isNull(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és nul, retorna True

isNullOrUndefined

Comprova si la variable donada és nul·la o no definida

1
static Boolean util.isNullOrUndefined(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és nul o no definit, retorna True

isNumber

Comprova si la variable donada és un nombre

1
static Boolean util.isNumber(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un número

isBigInt

Comprova si la variable donada és un BigInt

1
static Boolean util.isBigInt(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un número

isString

Comprova si la variable donada és una cadena

1
static Boolean util.isString(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és una cadena

isUndefined

Comprova si la variable donada no és definida

1
static Boolean util.isUndefined(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si no és definit, retorna True

isRegExp

Comprova si la variable donada és un objecte normal

1
static Boolean util.isRegExp(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un objecte normal

isObject

Comprova si la variable donada és un objecte

1
static Boolean util.isObject(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un objecte

isDate

Comprova si la variable donada és un objecte de data

1
static Boolean util.isDate(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un objecte de data

isNativeError

Comprova si la variable donada és un objecte d'error

1
static Boolean util.isNativeError(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un objecte d'error

isPrimitive

Comprova si la variable donada és de tipus primitiu

1
static Boolean util.isPrimitive(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un tipus primitiu

isSymbol

Comproveu si la variable donada és del tipus Símbol

1
static Boolean util.isSymbol(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus de símbol, retorna True

isDataView

Comprova si la variable donada és del tipus DataView

1
static Boolean util.isDataView(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus DataView, retorna True

isExternal

Comprova si la variable donada és de tipus Externa

1
static Boolean util.isExternal(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus extern, retorna True

isMap

Comproveu si la variable donada és del tipus Map

1
static Boolean util.isMap(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus de mapa, retorna True

isMapIterator

Comprova si la variable donada és del tipus MapIterator

1
static Boolean util.isMapIterator(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un tipus MapIterator

isPromise

Comprova si la variable donada és del tipus Promesa

1
static Boolean util.isPromise(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus Promesa, retorna True

isAsyncFunction

Comprova si la variable donada és del tipus AsyncFunction

1
static Boolean util.isAsyncFunction(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus AsyncFunction, retorna True

isSet

Comprova si la variable donada és del tipus Set

1
static Boolean util.isSet(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus Set, retorna True

isSetIterator

Comprova si la variable donada és del tipus SetIterator

1
static Boolean util.isSetIterator(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus SetIterator, retorna True

isTypedArray

Comprova si la variable donada és del tipus TypedArray

1
static Boolean util.isTypedArray(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és un tipus TypedArray, retorna True

isUint8Array

Comprova si la variable donada és del tipus Uint8Array

1
static Boolean util.isUint8Array(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és de tipus Uint8Array

isFunction

Comprova si la variable donada és un objecte de funció

1
static Boolean util.isFunction(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, retorna True si és un objecte de funció

isBuffer

Comprova si la variable donada és una funcióBufferobjecte

1
static Boolean util.isBuffer(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a detectar

Resultats de retorn:

  • Boolean, si és una funcióBufferL'objecte retorna True

isDeepEqual

La profunditat del valor de prova és igual al valor esperat

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

Paràmetres de trucada:

  • actual: Valor, el valor a provar
  • expected: Valor, valor esperat

Resultats de retorn:

  • Boolean, retorna True si les profunditats són iguals

has

Consulta si l'objecte especificat conté la clau donada

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

Paràmetres de trucada:

  • v: Valor, donat l'objecte a consultar
  • key: Cadena, especifiqueu la clau a consultar

Resultats de retorn:

  • Boolean, retorna una matriu de totes les claus de l'objecte

keys

Consulta totes les matrius de claus de l'objecte especificat

1
static Array util.keys(Value v);

Paràmetres de trucada:

  • v: Valor, donat l'objecte a consultar

Resultats de retorn:

  • Array, retorna una matriu de totes les claus de l'objecte

values

Consulta totes les matrius de valors de l'objecte especificat

1
static Array util.values(Value v);

Paràmetres de trucada:

  • v: Valor, donat l'objecte a consultar

Resultats de retorn:

  • Array, retorna una matriu de tots els valors de l'objecte

clone

Clonar la variable donada, si és un objecte o matriu, copieu el contingut al nou objecte

1
static Value util.clone(Value v);

Paràmetres de trucada:

  • v: Valor, donada la variable a clonar

Resultats de retorn:

  • Value, retorna el resultat del clon

deepFreeze

Congela un objecte. No es permetrà modificar l'objecte congelat ni els objectes que conté.

1
static util.deepFreeze(Value v);

Paràmetres de trucada:

  • v: Valor, especifica l'objecte a congelar

extend

Amplieu els valors clau d'un o més objectes a l'objecte especificat

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

Paràmetres de trucada:

  • v: Valor, especifica l'objecte a ampliar
  • objs: ..., especifica un o més objectes per a l'expansió

Resultats de retorn:

  • Value, retorna el resultat ampliat

_extend

Amplieu els valors clau d'un o més objectes a l'objecte especificat, que és un àlies d'extensió

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

Paràmetres de trucada:

  • v: Valor, especifica l'objecte a ampliar
  • objs: ..., especifica un o més objectes per a l'expansió

Resultats de retorn:

  • Value, retorna el resultat ampliat

pick

Torna aobjectCopieu, filtreu només els valors d'atribut de la clau especificada

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

Paràmetres de trucada:

  • v: Valor, especifica l'objecte a filtrar
  • objs: ..., especifiqueu una o més claus per a la selecció

Resultats de retorn:

  • Object, retorna resultats filtrats

omit

Torna aobjectCopia, només excloent el valor de l'atribut de la clau especificada

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

Paràmetres de trucada:

  • v: Valor, especifica l'objecte a filtrar
  • keys: ..., especifiqueu una o més claus per a l'exclusió

Resultats de retorn:

  • Object, retorna resultats exclosos

first

Obteniu el primer element de la matriu

1
static Value util.first(Value v);

Paràmetres de trucada:

  • v: Valor, donat la matriu que es vol obtenir

Resultats de retorn:

  • Value, retorna l'element recuperat

Obteniu els primers múltiples elements d'una matriu

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

Paràmetres de trucada:

  • v: Valor, donat la matriu que es vol obtenir
  • n: Enter, especifica el nombre d'elements a obtenir

Resultats de retorn:

  • Value, retorna la matriu d'elements obtinguda

last

Obteniu l'últim element de la matriu

1
static Value util.last(Value v);

Paràmetres de trucada:

  • v: Valor, donat la matriu que es vol obtenir

Resultats de retorn:

  • Value, retorna l'element recuperat

Obteniu diversos elements al final d'una matriu

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

Paràmetres de trucada:

  • v: Valor, donat la matriu que es vol obtenir
  • n: Enter, especifica el nombre d'elements a obtenir

Resultats de retorn:

  • Value, retorna la matriu d'elements obtinguda

unique

Obteniu una còpia desduplicada dels elements d'una matriu

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

Paràmetres de trucada:

  • v: Valor, donat la matriu que s'ha de duplicar
  • sorted: Booleà, especifica si la matriu està ordenada. Si la matriu està ordenada, s'utilitzarà un algorisme ràpid.

Resultats de retorn:

  • Array, retorna la matriu després d'eliminar els elements duplicats

union

Combina els valors d'una o més matrius en una matriu amb valors únics

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

Paràmetres de trucada:

  • arrs: ..., especifiqueu una o més matrius per a la fusió

Resultats de retorn:

  • Array, retorna el resultat combinat

intersection

Retorna la intersecció de la matriu que conté arr excloent un o més elements de la matriu.

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

Paràmetres de trucada:

  • arrs: ..., especifiqueu una o més matrius utilitzades per calcular la intersecció

Resultats de retorn:

  • Array, retorna el resultat del càlcul de la intersecció

flatten

Converteix una matriu amb diversos nivells de nidificació (la nidificació pot ser qualsevol nombre de nivells) en una matriu amb un sol nivell. Si passeu el paràmetre poc profund, la matriu es reduirà a només una dimensió d'imbricació.

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

Paràmetres de trucada:

  • arr: Valor, especifica la matriu que s'ha de convertir
  • shallow: Booleà, especifica si s'ha de reduir només una dimensió de l'imbricació, el valor per defecte és fals

Resultats de retorn:

  • Array, retorna el resultat de la conversió

without

Retorna una matriu que conté un o més elements a la matriu arr, excloent un o més elements.

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

Paràmetres de trucada:

  • arr: Valor, especifica la matriu que s'ha d'excloure
  • els: ..., especifica un o més elements a excloure

Resultats de retorn:

  • Array, retorna resultats exclosos

difference

Retorna una matriu que conté els elements de la matriu arr, excloent els elements de la matriu sense.

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

Paràmetres de trucada:

  • list: Matriu, especifica la matriu que s'ha d'excloure
  • arrs: ..., especifica una o més matrius per excloure

Resultats de retorn:

  • Array, retorna resultats exclosos

each

Travessa tots els elements de la llista i envia cada element en ordre. Si es passa el paràmetre de context, l'iterador s'enllaça a l'objecte de context. Cada vegada que es crida l'iterador, es passen tres paràmetres: (element, índex, llista)

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

Paràmetres de trucada:

  • list: Valor, especifica la llista o l'objecte que cal recórrer
  • iterator: Funció, especifica la funció de devolució de trucada utilitzada per al recorregut
  • context: Valor, especifica l'objecte de context lligat en cridar l'iterador

Resultats de retorn:

  • Value, retorna la pròpia llista

map

Cada valor de la llista s'assigna a una matriu nova mitjançant una funció de transformació (iterador). Si es passa el paràmetre de context, l'iterador s'enllaça a l'objecte de context. Cada vegada que es crida l'iterador, es passen tres paràmetres: (element, índex, llista)

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

Paràmetres de trucada:

  • list: Valor, especifica la llista o l'objecte a transformar
  • iterator: Funció, especifica la funció de devolució de trucada utilitzada per a la transformació
  • context: Valor, especifica l'objecte de context lligat en cridar l'iterador

Resultats de retorn:

  • Array, retorna el resultat de la transformació

reduce

Reduïu els elements de la llista a un sol valor. Si es passa el paràmetre de context, l'iterador s'enllaça a l'objecte de context. Cada vegada que es crida l'iterador, es passen tres paràmetres: (memo, element, índex, llista)

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

Paràmetres de trucada:

  • list: Valor, especifica la llista o l'objecte a resumir
  • iterator: Funció, especifica la funció de devolució de trucada utilitzada per a la resolució
  • memo: Valor, especifica el valor inicial de la reducció
  • context: Valor, especifica l'objecte de context lligat en cridar l'iterador

Resultats de retorn:

  • Value, retorna el resultat resumit

parseArgs

Analitzeu la cadena de la línia d'ordres i retorneu la llista de paràmetres

1
static NArray util.parseArgs(String command);

Paràmetres de trucada:

  • command: String, especifica la cadena de línia d'ordres que s'ha d'analitzar

Resultats de retorn:

  • NArray, retorna la llista de paràmetres analitzats

compile

Compilar l'script a codi binari

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

Paràmetres de trucada:

  • srcname: Cadena, especifiqueu el nom de l'script que cal afegir
  • script: String, especifica el codi d'script que s'ha de compilar
  • mode: Enter, mode de compilació, 0: mòdul, 1: script, 2: treballador, el valor per defecte és 0

Resultats de retorn:

  • Buffer, retorna el codi binari compilat

util.compileEls scripts es poden compilar en blocs de dades d'execució interns de la v8 (codi executable que no sigui de màquina). El codi compilat es pot carregar i executar directament mitjançant l'execució i requereix després de ser desat com a *.jsc.

Com que després de la compilació, el codi de destinació no podrà obtenir el codi font inversament, els programes que es basen en Function.toString no s'executaran correctament.


sync

Embolcalla les funcions de devolució de trucada o asíncrona per trucar-les de forma sincrònica

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

Paràmetres de trucada:

  • func: Funció, donada la funció que cal embolicar
  • async_func: Booleà, especifica que func es processa com una funció asíncrona. Si és fals, es valorarà automàticament.

Resultats de retorn:

  • Function, retorna una funció que s'executa de manera sincrònica

util.syncProcessa la funció de devolució de trucada o la funció asíncrona en una funció de sincronització per facilitar la trucada.

L'exemple de devolució de trucada és el següent:

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));

Un exemple asíncron és el següent:

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));

Per a les funcions de retorn de promeses que no estan marcades com a sincronitzades, el mode de sincronització es pot especificar manualment:

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

Funció de retorn de trucada per a una trucada asíncrona

1
static Function util.promisify(Function func);

Paràmetres de trucada:

  • func: Funció, donada la funció que cal embolicar

Resultats de retorn:

  • Function, retorna la funció asíncrona

util.promisifyProcessa la funció de devolució de trucada com una funció asíncrona per facilitar la trucada.

L'exemple de devolució de trucada és el següent:

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

Funció d'embolcall asíncrona per a la trucada de retorn de trucada

1
static Function util.callbackify(Function func);

Paràmetres de trucada:

  • func: Funció, donada la funció que cal embolicar

Resultats de retorn:

  • Function, retorna la funció de devolució de trucada

util.callbackifyProcessa la funció asíncrona en una funció de devolució de trucada per facilitar la trucada.

Un exemple asíncron és el següent:

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

Consulteu la informació actual del motor i de la versió del component

1
static Object util.buildInfo();

Resultats de retorn:

  • Object, retorna l'objecte de versió del component
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" } }