Строковый литерал:
Строковые литералы неизменяемы, а значит, после их создания их состояние не может быть изменено, что также делает их потокобезопасными.
var a = 's';
var b = 's';
a==b
result будет «истинным» и тем же объектом, что и тот, и другой.
String Object:
Здесь создаются два разных объекта: у них разные ссылки:
var a = new String("s");
var b = new String("s");
a==b
результат будет ложным, потому что у них разные ссылки.