Come posso rilevare se una variabile è una stringa?come rilevare se la variabile è una stringa
risposta
questo è il modo specificato nelle specifiche ECMAScript per determinare la proprietà interna [[Classe]].
if(Object.prototype.toString.call(myvar) == '[object String]') {
// a string
}
From 8.6.2 Object Internal Properties and Methods:
Il valore della [[Categoria]] struttura interna è definita da questa specifica per ogni tipo di oggetti incorporata. Il valore della proprietà interna [[Classe]] di un oggetto host può essere qualsiasi valore Stringa tranne uno di "Argomenti", "Array", "Booleano", "Data", "Errore", "Funzione", "JSON "," Math "," Numero "," Oggetto "," RegExp ", e " String ". Il valore di una proprietà interna [[Classe]] viene utilizzato internamente per distinguere diversi tipi di oggetti. Si noti che questa specifica non fornisce alcun modo per un programma di accedere a tale valore tranne tramite Object.prototype.toString (vedere 15.2.4.2).
Per un esempio di come questo sia utile, si consideri questo esempio:
var str = new String('some string');
alert(typeof str); // "object"
alert(Object.prototype.toString.call(str)); // "[object String]"
Se si utilizza typeof
, si ottiene "object"
.
Ma se si utilizza il metodo di cui sopra, si ottiene il risultato corretto "[object String]"
.
non so perché questa sia la risposta accettata. gli oggetti non sono archi. 'new String()' produce un oggetto contenente una serie di proprietà indicizzate, ciascuna con un valore corrispondente al carattere in quella posizione. Sì, verrà forzato in una stringa tramite il metodo 'toString' di' Object', ma resta il fatto che 'new String ('some string')' non è una stringa, in sé e per sé. 'typeof someString ===" string "' è il modo corretto per determinare se una variabile è una stringa. Se una variabile può essere * trasformata in * una stringa è discutibile; ogni oggetto che può tracciare la sua catena prototipo in 'Object' ha' toString' – jackwanders
È possibile utilizzare typeof
di farlo, ma per un sacco di cose questo è cattivo design.
if (typeof myVar == "string") {
alert("I'm a string!");
}
Cos'è un buon design? – Webnet
Dipende da cosa stai cercando di fare. In genere dovresti sapere che tipo stai ricevendo o non dovrebbe avere importanza (ad esempio, dovrai fare la stessa cosa indipendentemente dal tipo). –
come usare isNaN()? –
typeof('yourstring');// returns string
Utilizzare typeof.
if (typeof foo == 'string')
Probabilmente è più chiaro non utilizzare le parole chiave come variabili negli esempi. – crdx
Utilizzare alert(typeof "hello");
alert(typeof 123);
Ref .: here.
var str = new String("some string");
if(str.constructor.name === "String")
{
alert("I'm a string!");
}
o semplicemente:
if(str.constructor === String)
{
alert("I'm a string!");
}
Non penso che abbiamo bisogno di trattare new String('some string')
come una stringa, perché se proviamo:
new String('abc')==='abc'
Si ritornerà falso!
Ma se proviamo:
String('abc')==='abc'
Si restituirà true.
('str'.constructor === String) && alert('its a string!');
- 1. rilevare se una variabile PHP è un riferimento/riferimento
- 2. Controlla se una variabile è una stringa in Ruby
- 3. Come posso rilevare se esiste una variabile nella sessione Flask?
- 4. Come convalidare se una stringa sarebbe una variabile java valida?
- 5. Come verificare se una variabile è uguale a una stringa o un'altra stringa?
- 6. Rilevare se una NSString contiene ...?
- 7. Come rilevare se una stringa contiene caratteri speciali?
- 8. Come rilevare se una stringa contiene almeno un numero?
- 9. Rileva se una variabile è un oggetto datetime
- 10. come rilevare se la modalità di azione è già presente
- 11. Come determinare se la variabile è una funzione in Python?
- 12. Rilevare se la finestra è una finestra chiave nel cacao
- 13. Verificare se la variabile è una stringa o una matrice in Twig
- 14. come sapere se una variabile è una tupla, una stringa o un intero?
- 15. bash scripting: se gli argomenti è uguale a questa stringa, definire una variabile come questa stringa
- 16. Come capire se una stringa è xml?
- 17. Come verificare se una stringa è bilanciata?
- 18. Come rilevare quando una variabile cambia valore
- 19. Controlla se la stringa è vuota
- 20. Controllare se una stringa contiene una stringa
- 21. Come posso rilevare se la telecamera è limitata dall'utente
- 22. Come posso sapere se una variabile python è una stringa o un elenco?
- 23. Come rilevare se la tastiera dell'utente è Swype?
- 24. PHP: Come posso rilevare se una stringa di input è araba
- 25. Come rilevare se una notifica è stata respinta?
- 26. Rilevare se JIT è disponibile
- 27. Come determinare se una stringa è un numero in C#
- 28. Come rilevare se è supportata un'interfaccia grafica?
- 29. Come rilevare se è presente un microfono
- 30. come dire una variabile è iterabile ma non una stringa
Si potrebbe desiderare di utilizzare underscore.js, ha metodi per questo costruito in http: //documentcloud.github.com/underscore/# isString - in caso di isString usa il metodo menzionato dall'utente113716 –
possibile duplicato di [Controlla se una variabile è una stringa] (http://stackoverflow.com/questions/4059147/check-if-a- variabile-is-a-string) – pkyeck
possibile duplicato di [Controllare se la variabile è numero o stringa in javascript] (http://stackoverflow.com/questions/1303646/check-whether-variable-is-number-or-string- in-javascript) – Flimzy