contacto[arroba]digitallearning.es
Título curso Aprende a programar (con Javascript)

Operador de texto

Como hemos indicado en el apartado anterior, el operador ‘+’ aplicado a dos variables de texto hace que sus valores se concatenen, es decir, que sus cadenas de texto se unan o junten una detrás de otra. Por ejemplo si tenemos dos variables:

  • var texto1 = «cadena1»
  • var texto2 = «cadena2»

El resultado de «texto1 + texto2» será: «cadena1cadena2»

Puedes probarlo en el editor online con este otro ejemplo:

 

Veremos a continuación que el operador ‘+’ realiza la suma aritmética cuando se aplica sobre dos variables numéricas. JavaScript distingue cada situación y aplica bien la concatenación o la suma, según el tipo de dato que se trate. Eso sí, si mezclamos ambos tipos, texto y número, siempre hará una concatenación. Compruébalo tú mismo con este ejemplo:

Nota: en JavaScript, como no declaramos el tipo de dato que contiene una variable, ni forzamos a que solo admita de un determinado tipo (cadena texto, numérico, boolean…), se pueden producir resultados no esperados, que pueden incluso depender del intérprete (navegador) que ejecute el programa.

Por ejemplo si en el anterior ejemplo, a la variable ‘nombre’ le asignamos el valor «3» (será cadena de texto, al ir entrecomillado), puede ocurrir:

  • Si hacemos la operación ‘nombre + cifra‘, obtener como resultado «315», tratando ambos valores como texto (string)
  • Si se ejecuta ‘nombre * cifra‘ puede que obtengamos 45, tratando a ambos como números, ya que el operador ‘*‘ no existe para las variables tipo texto (string) y el intérprete trata de aplicar la operación que pueda tener sentido.
  • En otras combinaciones podemos obtener un ‘NaN’ (non a number: no es un número) que citamos en el apartado de tipos de datos.

Aunque JavaScript nos de esa flexibilidad y ‘arregle’ por sí mismo algunos casos, como el que se pueda multiplicar un texto por un número, es una buena práctica controlar y cambiar el tipo de dato al uso que le vayamos a dar. Por ejemplo, si pedimos al usuario que introduzca un número mediante una instrucción prompt, éste se va a almacenar como texto. Si lo vamos a utilizar en el programa como un número (hacer operaciones matemáticas, comparar con otros números…) es mejor que le cambiemos el tipo de dato a ‘number’ antes de empezar a usarlo. Veremos en la próxima sección, que hay funciones que nos permiten esa conversión de ‘string’ a ‘number’ y viceversa.