Я збирався почати використовувати === (потрійне рівне, суворе порівняння) весь час при порівнянні рядкових значень, але тепер я знаходжу це
"foo" === new String("foo")
є помилковим, і те ж саме з цим:
var f = "foo", g = new String("foo");
f === g; // false
Звичайно:
f == g; // true
Тож чи рекомендується завжди використовувати == для порівняння рядків або завжди перетворювати змінні в рядки перед порівнянням?
new String
(Цілком безглуздо), а не використовувати==
new String("foo")
в першу чергу використовувати такі конструкції, як у Javascript? Я ніколи не бачив такого коду в коді, тобто jQuery ...
String(obj)
для перетворення рядок у вікні примітиву, як тільки ви отримали параметр "string". ("foo" === String(new String("foo"))) === true
foo
це чистий рядок іnew String("foo")
є Об'єктна рядок