Is there a difference? Will string 2 inherit different object prototypes?
var s1 = 1234 + \'\';
var s2 = String(1234);
//s1.someNewFunc(); error?
//s2.someNew
Both will behave the same way.
Also, there is a nice explanation about string primitives vs. objects here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
Distinction between string primitives and String objects
[...] String literals (denoted by double or single quotes) and strings returned from String calls in a non-constructor context (i.e., without using the new keyword) are primitive strings. JavaScript automatically converts primitives to String objects, so that it's possible to use String object methods for primitive strings. [...]