На самом деле существует два способа, с помощью которых строки могут быть созданы в javascript.
var str = 'Javascript';
Это создает примитивное строковое значение. var obj = new String('Javascript');
Это создает объект-оболочка типа String
. typeof str // string
typeof obj // object
Таким образом, лучший способ проверить равенство - использовать оператор ===
, потому что он проверяет значение, а также тип обоих операндов.
Если вы хотите проверить равенство между двумя объектами, то использование String.prototype.valueOf
является правильным способом.
new String('javascript').valueOf() == new String('javascript').valueOf()