JavaScript'te bir değişkeni `String'e dönüştürmenin üç yolunu buldum.
Bu üç seçeneği jQuery kaynak kodunda aradım ve hepsi kullanılıyor.
Aralarında herhangi bir fark olup olmadığını bilmek istiyorum:
value.toString()
String(value)
value + ""
[DEMO][1]
Hepsi aynı çıktıyı üretiyor, ama içlerinden biri diğerlerinden daha mı iyi?
Değer null
olduğunda farklı davranırlar.
String(null)
döndürür - "null"null + ""
ayrıca - "null" döndürürEğer value
undefined
ise çok benzer bir davranış gerçekleşir (bkz. jbabey's answer).
Bunun dışında, ihmal edilebilir bir performans farkı vardır, bu da onları büyük döngülerde kullanmadığınız sürece endişelenmeye değmez.
Farklılıklar vardır, ancak bunlar muhtemelen sorunuzla ilgili değildir. Örneğin, toString prototipi tanımlanmamış değişkenlerde mevcut değildir, ancak diğer iki yöntemi kullanarak tanımlanmamış değişkenleri bir dizeye dönüştürebilirsiniz:
var foo;
var myString1 = String(foo); // "undefined" as a string
var myString2 = foo + ''; // "undefined" as a string
var myString3 = foo.toString(); // throws an exception
Bu JSPerf testine](http://jsperf.com/cast-to-string/2) göre, hız bakımından farklılık gösterirler. Ancak bunları çok büyük miktarlarda kullanmayacaksanız, herhangi biri iyi performans göstermelidir.
Bütünlük için: asawyer](https://stackoverflow.com/users/426894/asawyer)'ın daha önce belirttiği gibi, .toString()
yöntemini de kullanabilirsiniz.