Python print vs Javascript console.log()

shintocv picture shintocv · Jul 7, 2015 · Viewed 52.9k times · Source

In Python:

print [1,2], '\n', [3,4]

would print

[1,2]
[3,4]

In Javascript:

console.log([1,2],'\n',[3,4])

prints

[1,2] '\n' [3,4]

What is the equivalent Javascript statement to the above Python print?

Answer

Grimtech picture Grimtech · Jun 10, 2016

You are sending three arguments to console.log

console.log([1,2],'\n',[3,4])

Because the first argument, [1,2] doesn't contain formatting elements (e.g. %d), each argument is passed through util.inspect(). util.inspect is returning the string representation of '\n' which is not what you want. You want '\n' to be interpreted.

One solution is to concatenate all arguments into one string

> console.log([1,2]+'\n'+[3,4]);
1,2
3,4

Another is to use formatting elements as placeholders, which util.format will substitute with two array's converted values.

> console.log('%s\n%s', [1,2], [3,4]);
1,2
3,4

I assumed node.js here, but the result in Mozilla is identical.