No entiendo este ejemplo con if

En el el libro Iniciación a JavaScript aparece este ejemplo:


var mostrarMensaje = true;

if(mostrarMensaje) {
alert("Hola Mundo");
}


Y, a continuación, se afirma que "el mensaje sí que se muestra al usuario ya que la variable mostrarMensaje tiene un valor de true y por tanto, el programa entra dentro del bloque de instrucciones del if".

¿Pero qué instrucciones, si no hay ninguna? Debe haber una errata en el código, ¿no?

Sin embargo la ventana aparece, no lo entiendo :confused:
no se mucho de javascript pero ese código tiene que ir cerrado aquí parece que el código esta bien


<script type="text/javascript">
var mostrarMensaje = true;

if(mostrarMensaje) {
alert("Hola Mundo");
}
</script>

también lo puedes poner así == el if hace una comparación y muestra el mensaje si es true

<script type="text/javascript">
var mostrarMensaje = true;

if(mostrarMensaje == true) {
alert("Hola Mundo");
}
</script>
Aparte de lo que dice Franciso, el libro intenta demostrar el uso de las condiciones, pues como dice, si el valor de la condición es verdadero (true) lo que sea que hay dentro del if se ejecutará, mientras que si el resultado de la condición (llamada operación booleana) es falso (false), el código nunca se ejecutará.

En pseudocódigo, eso sería:

[I]a[/I] vale 3
[I]b[/I] vale 5
[B]Si[/B] [I]a + b == 3[/I] [B]entonces haz lo siguiente:[/B]
  Mostrar mensaje 'Usted eligió una comida con un valor de XXXX'
[B]De lo contrario[/B] haz esto: (else)
  Mostrar mensaje 'Su comida vale menos del mínimo, así que no le cobraremos XD'
[B]Fin de Si[/B]

¿Ves el parecido? Espero que te haya ayudado :)
Gracias por la ayuda pero no lo entiendo, una condicional resulta verdadera o falsa según se cumpla o no lo que se plantea. Es decir, si a > b, si sumatorio de F <= 100, si esto pertenece al conjunto de aquello...
Pero un adjetivo por sí solo no plantea nada, no cumple nada ni incumple nada, simplemente consta. Es como decir "si blanco...". ¿Si blanco, qué pasa? ¿Qué es blanco? O, volviendo el ejemplo, ¿qué es cierto? Por sí solo "blanco" (o true) no indica nada.
Tal como recoge Francisco, en la variante que a continuación recoge el libro, if(mostrarMensaje == true), sí existe una condición que se cumple (o no, si cambiamos luego el contenido de la variable mostrarMensaje).

O sea, que no se entiende el trámite. True siempre será igual a true, no existe otra posibilidad, ¿¿entonces para qué molestarse en analizarlo?? Se declara la función alert() sin más, y listo.

De nuevo gracias, un saludo.
Ese código solo es un ejemplo nada mas no tiene mucho sentido en teoría o practica si no se desarrolla algo con el pero si lo miras desde otro angulo creas un script y utilizas ese código que solo es una muestra porque necesitas hacer algo para tu web ejemplo piensa que mostrarMensaje es una contraseña que viene de un input type = formulario y hola mundo es lo que mostraras si pone bien el usuario mostrarMensaje en el formulario si le pones un else = No estas logeado o entrar por ip etc etc y hay ya enpezaria ese código a tener mas coherencia y sentido

<script type="text/javascript">
var mostrarMensaje = true;

if(mostrarMensaje == true) {
alert("Hola Mundo");
} else {
alert("No estas logeado Mundo");
}
</script>

¿¿entonces para qué molestarse en analizarlo?? Se declara la función alert() sin más, y listo.
se puede hacer un alert sin mas y en php un echo