Apuntes sacados del curso de introducción a la programación, impartido por Universitas Telefónica (que realicé en Miríadax). Añadí algunos elementos para que no sea una copia exacta.

Para empezar, una pequeña introducción: JavaScript (JS) es un lenguaje de programación interpretado (los navegadores web lo entienden y muestran sin necesidad de compilar el código), orientado a objetos (estructuras de datos formadas por propiedades y métodos) y utilizado en front-end (la parte del desarrollo web que visualiza el usuario en un navegador cualquiera).

Tipos de datos en JavaScript

En JavaScript no es necesario definir el tipo de dato que tomará una variable, a diferencia de lenguajes como Java. Es decir, al declarar una variable, se le puede asignar un valor (según los tipos que veremos a continuación) o no.

Números

Se puede usar cualquier tipo de número en JavaScript, desde enteros (positivos y negativos) a decimales, pudiendo tomar valores muy grandes (ocuparán más espacio en memoria) que se mostrarán con notación científica.

Cadenas (Strings)

Son conjuntos de caracteres, incluido el string vacío (“”). Se definen entre comillas simples (‘’) o dobles (“”). String (plural, strings) es el término en inglés.

Booleanos

Representa a lo falso (false) y a lo verdadero (true). Es decir, apagado/encendido; 0/1; y cualquier otra analogía lógica. Únicamente aceptan esos dos valores (false, true).

Tipos especiales

– Indefinido: la palabra reservada undefined, indica que el valor de un dato no está definido.
– Nulo: la palabra reservada null, indica que un dato no tiene valor (apunta a nulo).
– No es un número: Not a Number (NaN) indica una indeterminación matemática (como dividir 0 entre 0).
– Infinito: la palabra reservada infinity, indica que el valor de un dato es infinito.

Operaciones con datos

Las operaciones que se pueden realizar con números, strings y booleanos.

Operaciones con números

Las típicas operaciones matemáticas (suma, resta, multiplicación y división) más una denominada “módulo”.

Suma: con el operador “+” (1.3 + 7).
Resta: con el operador “-” (20 – 34).
Multiplicación: con el operador “*” (3.2 * 10).
División: con el operador “/” (48 / 6).
Módulo: devuelve el resto de una división entera. Con el operador “%” (29 % 3, el resultado sería 2).

Prioridad de operadores: del mismo modo que en matemáticas, la multiplicación y la división tiene precedencia. Para cambiar esto, se utilizan los paréntesis (). Por ejemplo: 3 + (2 – 4) * 5 da -7; y 3 + 2 – 4 * 5 da -15.

Operaciones con strings (cadenas)

En este caso, tenemos la concatenación de cadenas y extraer el valor de un índice del string.

Concatenación: se unen dos strings para forma uno, usando el “+”. Por ejemplo:

“Hola” + “ ” + “mundo” resulta en “Hola mundo”

Extraer el valor de un índice: se puede entender como el acceso a los caracteres que conforman una cadena. Utilizando los corchetes, se indica el número del índice (empezando en 0, y hasta la longitud máxima del string) para recuperar ese valor concreto. Por ejemplo:

“Palabra”[0] da “P” | “Palabra”[6] da “a” | “Palabra”[7] da undefined.

Operaciones con booleanos

En este caso, tenemos negación, y lógico (and) y o lógico (or).

Negación: convierte un valor verdadero en uno falso, y viceversa. Su operador es “!”. Por ejemplo:

!true da false | !false da true | !(!false) da false

And (Y): su operador es “&&”. Sólo da true si ambas expresiones son verdaderas; en otros casos dará false. Por ejemplo:

true && true da true | true && false da false | false && false da false

Or (O): su operador es “||”. Sólo da false si ambas expresiones son falsas; en otros casos dará true. Por ejemplo:

false || false da false ~ false || true da true ~ true || true da true

Variables

Una variable es una caja etiquetada donde se almacena un dato (numérico, string o booleano) de un programa. En JavaScript se define mediante la palabra reservada “var”, seguida del nombre que se le dé a la misma. Para declarar su valor se utiliza el “=”. Ejemplos:

var anio = 2018 | var condicion-verdad = false | var palabra_1 = “apuntes”

Importante: no uses la tilde ni la ñ al nombrar una variable.

Para reasignar el valor de una variable también se utiliza el “=”, sin necesidad de poner “var” al principio (simplemente el nombre dado a la variable). Ejemplos:

anio = 2049 | condicion_verdad = true | palabra_1 = “tarea”

Tomaremos, como ejemplo, una baraja de cartas (corazones, picas, tréboles y diamantes); para llevar esta idea a un programa, simplificaremos la representación de cada carta con un número y la primera letra del palo. Ejemplo:

var carta = “1c”;

Así se representaría el as de corazones, mediante un string de dos caracteres. De esta forma, para acceder y almacenar el valor numérico y el palo de la carta, utilizaremos los corchetes.

var valor = carta[0]; //se accede a la primera posición del string, almacenando el dato en “valor”.
var palo = carta[1]; //se accede a la segunda posición del string; almacenando el dato en “palo”.

Comentarios

Sirven para añadir aclaraciones o explicaciones, en una parte del código, sobre lo que se quiere hacer o por qué se usa tal variable y con qué objetivo. Existen dos tipos:

– Comentarios de una línea: se utilizan dos barras // y el texto a añadir (como en el ejemplo anterior). Es decir:

var valor = carta[0]; //se accede a la primera posición del string, almacenando el dato en “valor”

– Comentarios de dos o más líneas: se utilizan /* y */. El texto añadido entre esas marcas será entendido como un comentario.

/* este bloque de texto es un comentario,
aunque tenga más de una línea. Podría utilizarse como encabezado,
o como una descripción detallada de una variable. */
var total;

Los comentarios permiten que el código sea más legible y entendible. Le dan cierta estructuración. Además, no son interpretados por los navegadores.

Comparaciones

Generalmente, se usan como condición para regular el flujo de las estructuras de control (bucles).

Igualdad y desigualdad

Se usa el operador “===” para comparar que dos valores (numéricos, strings o booleanos) sean iguales, y el operador “!==” para que sean distintos. Estos dos operadores son estrictos, ya que comparan tanto el valor como el tipo de dato (en numéricos y strings); a diferencia de “==” y “!=”, por lo que se desaconseja su uso. Ejemplos:

4 !== “4” da true

var num = 15;
var string1 = “15”;
num === string1 da false; utilizando “==” da true, lo cual es un error.

Mayor y menor

Normalmente, se utilizan para comparar valores numéricos (y es lo adecuado). No obstante, JavaScript acepta estos operadores con strings y booleanos, con lo que habrá que tener cuidado. Por ejemplo:

“23” < 43 da true | true >= true da true | true > 0 da true | false <= false da true | false > -1 da true

Los operadores son “>” (mayor que), “<” (menor que), “>=” (mayor o igual que) y “<=” (menor o igual que). Ejemplos:

13 <= 17 da true.

var num1 = 10;
var num2 = 6;
num1 < num2 da false.

Falsy y truthy

Estos dos tipos especiales son propios de JavaScript.
Falsy representa un valor falso, pudiendo ser el booleano false, el string vacío “” o el número 0.
Truthy representa un valor verdadero, pudiendo ser el booleano true, un string no vacío o un número distinto de 0.
Ejemplos:

435 && true da true, puesto que ambos valores son truthy.
“” || false da false, puesto que ambos valores son falsy.

Pin It en Pinterest