Więcej
Sprawdź, czy zmienna jest ciągiem znaków w JavaScript
Jak mogę określić, czy zmienna jest ciągiem znaków czy czymś innym w JavaScript?
1539
3
To jest to, co działa dla mnie:
Możesz użyć operatora
typeof
:Przykład z tej strony. (Przykład został jednak nieco zmodyfikowany).
To nie będzie działać zgodnie z oczekiwaniami w przypadku łańcuchów utworzonych za pomocą
new String()
, ale jest to rzadko używane i zalecane przeciwko. Zobacz inne odpowiedzi, aby dowiedzieć się, jak sobie z tym poradzić, jeśli chcesz.Najlepszy sposób:
Każdy z nich został skonstruowany przez odpowiednią funkcję swojej klasy, jak "new Object()" itd.
Również, Duck-Typing: "Jeśli wygląda jak kaczka, chodzi jak kaczka i pachnie jak kaczka - musi być Array" Znaczenie, sprawdź jego właściwości.
Mam nadzieję, że to pomoże.
Edit; 12/05/2016
Pamiętaj, że zawsze możesz też użyć kombinacji podejść. Oto'przykład użycia inline map działań z typeof:
Oto bardziej 'prawdziwy świat' przykład użycia map inline:
Ta funkcja użyłaby [ custom ] "type-casting" -- raczej, "type-/-value-mapping" -- aby dowiedzieć się, czy zmienna faktycznie "istnieje". Teraz możesz rozdzielić ten paskudny włos pomiędzy
null
&0
!Wiele razy nie obchodzi cię nawet jej typ. Innym sposobem na obejście typowania jest łączenie zestawów Duck-Type:
Zarówno
Number.prototype
jak iString.prototype
mają metodę.toString()
. Po prostu upewniłeś się, że odpowiednik łańcuchowy liczby jest taki sam, a następnie upewniłeś się, że przekazałeś go do funkcjihttp
jakoNumber
. Innymi słowy, nie dbaliśmy nawet o to, jaki był jej typ.Mam nadzieję, że to da ci więcej do pracy :)