This article has been localized into Italian by the community.
Vero & Falso
In molti linguaggi di programmazione, cosi come nella matematica, il concetto di vero e falso è completamente binario: Mentre qualcosa è vero, dell'altro è falso. Ma in JavaScript, il concetto di vero e falso viene spano un po', questo perché il linguaggio è generalmente piuttosto sciolto e non è molto rigoroso come altri linguaggi di programmazione.
In pratica questo significa che alcune volte JavaScript farà una valutazione su qualcosa che può essere vero o falso, senza contare che questo non è completamente vero o falso. Il proposito è semplicemente rendere le cose semplice e meno complesse per te, ma se non ne vuoi sapere, o se te lo scordi per un momento, le cose potrebbero diventare un po' confuse.
Allora, permettermi introdurre un nuovo concetto per te:Verità e Falsità. Esistono solo come concetti - non troverai parole chiave per queste in JavaScript, né sarai in grado di verificare un valore vero ad uno falso. Invece, JavaScript ha introdotto un secondo set di operatori per verificare se qualcosa è completamente vero o completamente falso. Questi si riferiscono a degli operatori rigorosi, esempio l'operatore di uguaglianza rigoroso, si usano tre segni di uguaglianza invece di due, quando si confrontano due valori.
Parleremo molto di più di questi vari operatori di JavaScript, incluso quelli rigorosi, in un prossimo capitolo, ma per adesso, parliamo di più su cosa può essere considerato vero o falso.
Vero
In JavaScript, tutti i valori sono veri finche non sono specificatamente falsi. JavaScript userà un tipo coercitivo per trasformare qualcosa ad un valore booleano quando il contesto lo richiede, come un ciclo o una dichiarazione if. Per adesso, considera i seguenti valori di esempio che saranno trattati come veri perché sono veri.
if(true)
alert("truthy");
if(42)
alert("truthy");
if("hello world")
alert("truthy");
Se esegui questo esempio, vedrai che le tre dichiarazioni if saranno validate per essere vere, ma perché "hello world" + vero? Perché questo attualmente contiene un valore quindi, JavaScript lo considererà vero quando è usato in un contesto dove vero e falso è richiesto.
Falso
Generalmente, tutti i valori che sono nulli, indefiniti o vuoti vengono considerati come falsi e saranno trattati come questi quando verranno usati in un contesto booleano come i cicli e le dichiarazioni if. Ecco alcuni esempi:
if(false)
alert("falsy");
if(null)
alert("falsy");
if(0)
alert("falsy");
if("")
alert("falsy");
Se esegui questo esempio, noterai che nessuna allerta viene eseguita - tutti queste dichiarazione if verranno considerate false in questo contesto.
Riassunto
Quando JavaScript necessità che qualcosa sia vero o falso, per una istanza che viene valutata in una condizione di ciclo for o in una dichiarazione-if, si otterrà un tipo coercitivo, se necessario, per trasformare il valore che non è booleano in vero o falso . Il risultato di questo è riferito come vero o falso, perché mentre non sono attualmente vero o falso, sono abbastanza vicini per JavaScript da fargli prendere una decisione basata su questi, come illustrato con esempi in questo articolo.