This article needs a technical review. How you can help.
This article needs an editorial review. How you can help.
Resum
La sentència if executa una sentència si una condició especificada és certa. Si la condició és falsa, opcionalment s'executa una declaració diferent.
Sintaxi
if (condició) sentència1 [else sentència2]
condició
- Una expressió que esdevé o certa o falsa.
sentència1
- És la sentència que s'executa si la
condició
esdevé certa. Pot ser qualsevol declaració, incloent més sentènciesif
aniuades. Per executar múltimples sentències, es fa servir una sentència block ({ ... }) per agrupar aquestes sentències, si no es vol executar cap sentència, es fa servir una sentència buida.
sentència2
- La sentència que s'executa si la
condition
esdevé falsa i hi ha la clàusulaelse
. Pot ser qualsevol sentència, incloent sentències en block i més sentènciesif
aniuades.
Descripció
Múltiples sentències if...else
poden aniuar-se per crear una clàusula else if
. Fixeu-vos que no hi ha la paraula clau elseif
(en una paraula) en JavaScript.
if (condició1) sentència1 else if (condició2) sentència2 else if (condició3) sentència3 ... else sentènciaN
Per veure com funciona, així es com es veuria amb l'aniuament degudament indentat.
if (condició1) sentència1 else if (condició2) sentència2 else if (condició3) ...
Per executar múltiples sentències dins una clàusula, utilitzeu una sentència block ({ ... }
) per agrupar aquestes sentències. En general, és una bona pràctica utilitzar sempre sentències de block, especialment en codi que inclogui sentències if
aniuades:
if (condició) { sentència1 } else { sentència2 }
No confongueu els valors booleans primitius true
i false
amb els valors cert i fals de l'objecte Boolean. Qualsevol valor que no sigui undefined
, null
, 0
, NaN
, o una cadena buida (""
), i qualsevol objecte, incloent un objecte Boolean que tingui el valor fals, esdevé cert quan es passa a una sentència condicional. Per exemple:
var b = new Boolean(false); if (b) // this condition evaluates to true
Exemples
Exemple: Fer servir if...else
if (cipher_char === from_char) { result = result + to_char; x++; } else { result = result + clear_char; }
Exemple: Fer servir else if
Vegeu que no hi ha cap sintaxi elseif
en JavaScript. Tanmateix, es pot escriure amb un espai entre else
i if
:
if (x > 5) { } else if (x > 50) { } else { }
Exemple: Assignació dins l'expressió condicional
És recomanable no utilitzar assignacions simples en una expressió condicional, atès que l'assignació es pot confondre amb l'igualtat quan es mira per sobre el codi. Per exemple, no utilitzeu el codi següent:
if (x = y) { /* do the right thing */ }
Si necessiteu usar una assignació dins d'una expressió condicional, una pràctica comuna és ficar parèntesis addicionals embolcallant l'assignació. Per exemple:
if ((x = y)) { /* do the right thing */ }
Especificacions
Especificacó | Estat | Comentaris |
---|---|---|
1a edició de ECMAScript. | Estàndard | Definció inicial. |
ECMAScript 5.1 (ECMA-262) The definition of 'if statement' in that specification. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'if statement' in that specification. |
Release Candidate |
Compatibilitat amb navegadors
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |