当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js util.format(format[, ...args])用法及代码示例


util.format(format[, ...args])

历史
版本变化
v12.11.0

%c 说明符现在被忽略。

v12.0.0

format 参数现在仅在它实际上包含格式说明符时才被采用。

v12.0.0

如果 format 参数不是格式字符串,则输出字符串的格式不再依赖于第一个参数的类型。当第一个参数不是字符串时,此更改会从正在输出的字符串中删除先前存在的引号。

v11.4.0

%d%f%i 说明符现在正确支持符号。

v11.4.0

%o 说明符的 depth 再次具有默认深度 4。

v11.0.0

%o 说明符的 depth 选项现在将回退到默认深度。

v10.12.0

%d%i 说明符现在支持 BigInt。

v8.4.0

现在支持 %o%O 说明符。

v0.5.3

添加于:v0.5.3


参数
  • format <string> 类似于 printf 的格式字符串。

util.format() 方法返回一个格式化字符串,使用第一个参数作为类似 printf 的格式字符串,它可以包含零个或多个格式说明符。每个说明符都被相应参数的转换值替换。支持的说明符是:

  • %sString 将用于转换除 BigIntObject-0 之外的所有值。 BigInt 值将用 n 表示,没有用户定义的 toString 函数的对象使用带有选项 { depth: 0, colors: false, compact: 3 }util.inspect() 检查。
  • %dNumber 将用于转换除 BigIntSymbol 之外的所有值。
  • %iparseInt(value, 10) 用于除 BigIntSymbol 之外的所有值。
  • %fparseFloat(value) 用于除 Symbol 之外的所有值。
  • %j:JSON。如果参数包含循环引用,则替换为字符串 '[Circular]'
  • %oObject。具有通用 JavaScript 对象格式的对象的字符串表示形式。类似于带有选项 { showHidden: true, showProxy: true }util.inspect() 。这将显示完整的对象,包括不可枚举的属性和代理。
  • %OObject。具有通用 JavaScript 对象格式的对象的字符串表示形式。类似于没有选项的util.inspect()。这将显示不包括不可枚举属性和代理的完整对象。
  • %cCSS。此说明符被忽略,并将跳过任何传入的 CSS。
  • %%:单百分号('%')。这不会消耗一个论点。
  • 返回: <string> 格式化字符串

如果说明符没有对应的参数,则不会被替换:

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

如果它们的类型不是 string ,则不属于格式字符串的值将使用 util.inspect() 进行格式化。

如果传递给 util.format() 方法的参数多于说明符的数量,则额外的参数将连接到返回的字符串,以空格分隔:

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

如果第一个参数不包含有效的格式说明符,util.format() 返回一个字符串,该字符串是由空格分隔的所有参数的串联:

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

如果仅将一个参数传递给 util.format() ,则将按原样返回,不带任何格式:

util.format('%% %s');
// Returns: '%% %s'

util.format() 是一种同步方法,旨在用作调试工具。某些输入值可能会产生很大的性能开销,从而阻塞事件循环。请谨慎使用此函数,切勿在热代码路径中使用。

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 util.format(format[, ...args])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。