Conversione implicita nelle operazioni
Preveda come + e i confronti convertono i tipi.
Conversione implicita nelle operazioni è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 4 lezioni in totale.
Coercizione implicita
La coercizione implicita si verifica quando un operatore converte gli operandi nel tipo richiesto dall'operazione. Operatori diversi attivano conversioni diverse.
console.log("5" + 1)
console.log("5" - 1)Plus con le stringhe
L'operatore plus è particolare: se almeno uno degli operandi è una stringa, esegue la concatenazione di stringhe invece dell'addizione numerica.
console.log("3" + 4)
console.log(3 + "4")
console.log("a" + 1 + 2)Plus con due numeri
Quando entrambi gli operandi sono numeri, plus li somma. L'ordine delle operazioni è importante quando nella catena compaiono stringhe in un secondo momento.
console.log(1 + 2 + "3")
console.log("1" + 2 + 3)Minus forza i numeri
L'operatore minus non ha un significato per le stringhe, quindi converte sempre entrambi gli operandi in numeri, anche quando si tratta di stringhe dall'aspetto numerico.
console.log("10" - "4")
console.log("10" - 4)Moltiplicazione e divisione
Come minus, gli operatori di moltiplicazione e divisione applicano la coercizione degli operandi in numeri. Le stringhe non numeriche producono NaN.
console.log("6" * "2")
console.log("abc" * 2)Plus unario
Un plus unario davanti a un valore lo converte in un numero: è un espediente compatto per la conversione.
console.log(+"42")
console.log(+"3.14")
console.log(+true)Coercizione nei confronti
Gli operatori relazionali come minore di convertono gli operandi in numeri, a meno che non siano entrambi stringhe; in tal caso li confrontano in ordine alfabetico.
console.log("10" > 5)
console.log("apple" < "banana")Confronti misti
Quando un lato è una stringa e l'altro è un numero, la stringa viene convertita in un numero per il confronto.
console.log("20" > 3)
console.log("3" > 20)Booleani nell'aritmetica
Nell'aritmetica, i booleani diventano 1 o 0, quindi aggiungere true a un numero lo incrementa.
console.log(true + true)
console.log(5 + false)Array nella coercizione
Quando vengono usati con plus, gli array vengono convertiti in stringhe. Un array vuoto diventa una stringa vuota e un array con un solo elemento diventa quell'elemento sotto forma di testo.
console.log([] + [])
console.log([1, 2] + [3])Evitare le sorprese
Per evitare concatenazioni accidentali o NaN, esegua una conversione esplicita con Number o String prima dell'operazione. Chiarire l'intento è meglio che affidarsi alla coercizione.
const a = "5"
const b = "3"
console.log(Number(a) + Number(b))Verifica rapida
Verifichi la Sua conoscenza della coercizione.
Riepilogo
Riepilogo: gli operatori attivano coercizioni diverse.
- Plus concatena se almeno un operando è una stringa
- Minus, moltiplicazione e divisione forzano la conversione in numeri
- I confronti applicano la coercizione in numeri, a meno che entrambi gli operandi siano stringhe
- Converta i valori esplicitamente per evitare sorprese
console.log("5" + 1)
console.log("5" - 1)Domande Frequenti
La lezione «Conversione implicita nelle operazioni» è gratuita?
Sì — il testo completo di «Conversione implicita nelle operazioni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 4 lezioni in totale.
Cosa imparerò in «Conversione implicita nelle operazioni»?
Preveda come + e i confronti convertono i tipi. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare JavaScript Academy?
Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Conversione implicita nelle operazioni»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?
Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Valori truthy e falsy
- Uguaglianza debole e stretta
- Conversione implicita nelle operazioni
- Tecniche di conversione esplicita