In Chrome DevTools, a resolved promise will return an interactive object that can be expanded and collapsed, like so;
> Promise.resolve('foo')
< ▶ Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: "foo"}
In Node, a resolved promise will return a string;
> Promise.resolve('foo')
< Promise { 'x' }
What, and who, determines what is returned to the console when visualising a variable? Is this standardised somehow?