JS uses the second example
1 + "hello" == "1hello"
Therefore, the type Array can have a join method that have predictable results (unlike Python).
As mentioned above, it's because Python supports `join` on any sequence, not just the array class. Personally, I find JavaScript's solution neater:
[..."hello"].join(" ") === "h e l l o"Javascript always falls back to string, that is also why we have === and == operators.
Python's type system is a bit more strict because it will not attempt to serialize your objet if you haven't explicitly done it yourself.
My point is: Python doesn't use this notation because it would not make sense in Python.
>>> [1,2,10].sort()
Array(3) [ 1, 10, 2 ]