Dize değerlerini karşılaştırırken her zaman === (üçlü eşittir, kesin karşılaştırma) kullanmaya başlayacaktım, ama şimdi bunu buldum
"foo" === new String("foo")
yanlıştır ve bununla aynıdır:
var f = "foo", g = new String("foo");
f === g; // false
Elbette:
f == g; // true
Öyleyse, dize karşılaştırması için her zaman == kullanmanız veya karşılaştırmadan önce değişkenleri dizelere dönüştürmeniz önerilir mi?
new String
yerine (Tamamen anlamsız) ile dizeler oluşturmamanız önerilir==
new String("foo")
ilk başta Javascript'teki gibi yapıyı kullanmak istesin ?
String(obj)
"Dize" parametrenizi aldıktan sonra, kutulu bir dizeyi ilkele dönüştürmek için kullanabilirsiniz . ("foo" === String(new String("foo"))) === true
foo
de saf dizge venew String("foo")
Nesne Dizesi olduğu için