Ho guardato tutte le domande e le risposte su StackOverflow, ma non ho trovato la risposta più semplice a questo.Javascript: String vs. Object
Qual è esattamente la differenza tra stringa e oggetto?
Per esempio, se ho questo codice:
var a = 'Tim';
var b = new String('Tim');
Che cosa è esattamente la differenza?
Capisco che new
complichi il codice e new String
lo rallenti.
Inoltre, capisco a==b
è true
, ma andando più rigorosamente a===b
è false
. Perché?
Mi sembra di non capire il processo dietro l'oggetto e la creazione di stringhe. Ad esempio:
var a = new String ('Tim');
var b = new String ('Tim');
a==b
è false
La differenza è '" test "' è una stringa e 'new String (" test ")' è un oggetto. Ecco perché "test"! == new String ("test") '. 'new String (" test ")' è un oggetto wrapper attorno alla stringa. – dfsq
Capito. Potresti postare la risposta sulla logica di creazione di oggetti e stringhe in maggiori dettagli? Grazie. – super11
'a == b' è' true' perché l'operatore '==' costringerà i tipi a corrispondere (nel miglior modo possibile), mentre l'operatore '===' è usato dove vuoi esplicitamente confrontare i tipi loro sono. –