Browse Source

doc, util, console: clarify ambiguous docs

Add clarification to the documentation on util.format()
and console.log() regarding how excessive arguments are treated
when the first argument is a non-format string
compared to when it is not a string at all.

PR-URL: https://github.com/nodejs/node/pull/14027
Fixes: https://github.com/nodejs/node/issues/13908
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
v6
Natanael Log 8 years ago
committed by Vse Mozhet Byt
parent
commit
f2149d4ea4
  1. 4
      doc/api/console.md
  2. 11
      doc/api/util.md

4
doc/api/console.md

@ -246,9 +246,7 @@ console.log('count:', count);
// Prints: count: 5, to stdout
```
If formatting elements (e.g. `%d`) are not found in the first string then
[`util.inspect()`][] is called on each argument and the resulting string
values are concatenated. See [`util.format()`][] for more information.
See [`util.format()`][] for more information.
### console.time(label)
<!-- YAML

11
doc/api/util.md

@ -177,16 +177,17 @@ util.format('%s:%s', 'foo');
// Returns: 'foo:%s'
```
If there are more arguments passed to the `util.format()` method than the
number of placeholders, the extra arguments are coerced into strings (for
objects and symbols, `util.inspect()` is used) then concatenated to the
returned string, each delimited by a space.
If there are more arguments passed to the `util.format()` method than the number
of placeholders, the extra arguments are coerced into strings then concatenated
to the returned string, each delimited by a space. Excessive arguments whose
`typeof` is `'object'` or `'symbol'` (except `null`) will be transformed by
`util.inspect()`.
```js
util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
```
If the first argument is not a format string then `util.format()` returns
If the first argument is not a string then `util.format()` returns
a string that is the concatenation of all arguments separated by spaces.
Each argument is converted to a string using `util.inspect()`.

Loading…
Cancel
Save