Looking at the console object in the Node.js repl, I see it has a context function:
> console
Console {
log: [Function: bound consoleCall],
debug: [Function: bound consoleCall],
info: [Function: bound consoleCall],
warn: [Function: bound consoleCall],
error: [Function: bound consoleCall],
dir: [Function: bound consoleCall],
time: [Function: bound consoleCall],
timeEnd: [Function: bound consoleCall],
trace: [Function: bound consoleCall],
assert: [Function: bound consoleCall],
clear: [Function: bound consoleCall],
count: [Function: bound consoleCall],
countReset: [Function: bound countReset],
group: [Function: bound consoleCall],
groupCollapsed: [Function: bound consoleCall],
groupEnd: [Function: bound consoleCall],
Console: [Function: Console],
dirxml: [Function: dirxml],
table: [Function: table],
markTimeline: [Function: markTimeline],
profile: [Function: profile],
profileEnd: [Function: profileEnd],
timeline: [Function: timeline],
timelineEnd: [Function: timelineEnd],
timeStamp: [Function: timeStamp],
context: [Function: context],
[Symbol(counts)]: Map {} }
This function, when called, seems to return an object similar to console but missing a few things:
> console.context()
{ debug: [Function: debug],
error: [Function: error],
info: [Function: info],
log: [Function: log],
warn: [Function: warn],
dir: [Function: dir],
dirXml: [Function: dirXml],
table: [Function: table],
trace: [Function: trace],
group: [Function: group],
groupCollapsed: [Function: groupCollapsed],
groupEnd: [Function: groupEnd],
clear: [Function: clear],
count: [Function: count],
assert: [Function: assert],
markTimeline: [Function: markTimeline],
profile: [Function: profile],
profileEnd: [Function: profileEnd],
timeline: [Function: timeline],
timelineEnd: [Function: timelineEnd],
time: [Function: time],
timeEnd: [Function: timeEnd],
timeStamp: [Function: timeStamp] }
> console.context() === console
false
Although it looks similar, it does not have the same functionality:
> console.context().log('hello world')
undefined
These items are in console but not in console.context():
Console: [Function: Console],
[Symbol(counts)]: Map {}
context: [Function: context],
countReset: [Function: bound countReset],
The constructor Console and countReset are documented at
https://nodejs.org/api/console.html
The [Symbol(counts)] object might have something to do with the
implementation of count and countReset.
But context seems like it should be documented, and is not. What is
it?
console.context is experimental Chrome/V8 feature that creates a new context for console output. It doesn't have Node-specific implementation, so it is supposedly implemented in V8.
Since it's experimental, there may be inconsistencies. console.context didn't work as expected for me in any recent Chromium versions, and it isn't supposed to provide useful results in Node.js.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With