JavaScript F
JavaScript F
/* This is a
multi-line comment */
JavaScript freeCodeCamp 1
Declara variables de
JavaScript
En informática, los datos son cualquier cosa que
tenga sentido para la computadora. JavaScript
proporciona ocho tipos de datos diferentes, los cuales
son undefined , null , boolean , string , symbol ,
bigint , number ,y object .
JavaScript freeCodeCamp 2
Le decimos a JavaScript que cree o declare una
variable poniendo la palabra clave var delante de
ella, así:
var ourName;
Sugerencia
Mira el ejemplo ourName de arriba si te quedas
atascado.
myVariable = 5;
var myVar;
myVar = 5;
JavaScript freeCodeCamp 3
Primero, este código crea una variable llamada
myVar . Luego, el código asigna 5 a myVar . Ahora, si
var myVar;
myVar = 5;
var myNum;
myNum = myVar;
var myVar = 0;
JavaScript freeCodeCamp 4
Crea una nueva variable llamada myVar y le asigna
un valor inicial de 0 .
Declara variables de
cadena
Anteriormente utilizaste el siguiente código para
declarar una variable:
var myName;
apellido, respectivamente.
Comprendiendo las
variables no inicializadas
Cuando las variables de JavaScript son declaradas,
tienen un valor inicial de undefined (indefinido). Si
haces una operación matemática en una variable
undefined , tu resultado será NaN lo que significa "Not
JavaScript freeCodeCamp 5
cadena con una variable undefined , obtendrás una
cadena de undefined .
Comprendiendo la
sensibilidad de
mayúsculas en las
variables
En JavaScript todas las variables y nombres de
función son sensibles a
mayúsculas y minúsculas. Esto significa que la
capitalización importa.
Buena Práctica
Escribe los nombres de las variables en JavaScript
en camelCase. En camelCase,
los nombres de variables de múltiples palabras
tienen la primera
palabra en minúsculas y la primera letra de cada
palabra posterior en
mayúsculas.
Ejemplos:
var someVariable;
var anotherVariableName;
var thisVariableNameIsSoLong;
JavaScript freeCodeCamp 6
Modifica las declaraciones y asignaciones existentes
para que sus nombres usen camelCase.
JavaScript freeCodeCamp 7
Aprenderás sobre otras características de ES6 en
desafíos posteriores.
JavaScript freeCodeCamp 8
Siempre debes nombrar variables que no quieras
reasignar usando la palabra clave const . Esto ayuda
cuando intentas reasignar accidentalmente una
variable que está destinada a permanecer constante.
Ejemplo:
JavaScript freeCodeCamp 9
const myVar = 5 + 10;
Ejemplo
const myVar = 12 - 6;
Ejemplo
JavaScript freeCodeCamp 10
Divide un número entre
otro con JavaScript
También podemos dividir un número entre otro.
Ejemplo
const myVar = 16 / 2;
i++;
es equivalente a
i = i + 1;
Decrementa un número
con JavaScript
JavaScript freeCodeCamp 11
Puedes fácilmente decrementar o disminuir una
variable por uno utilizando el operador -- .
i--;
es el equivalente de
i = i - 1;
JavaScript freeCodeCamp 12
enteros.
Encuentra un resto en
JavaScript
El operador de resto % entrega el resto de la división
entre dos números.
Ejemplo
5 % 2 = 1 porque
Math.floor(5 / 2) = 2 (Cociente)
2*2=4
5 - 4 = 1 (Resto)
Uso
En matemáticas, un número se puede comprobar
para saber si es par o impar revisando el resto de la
división del número por 2 .
17 % 2 = 1 (17 es impar)
48 % 2 = 0 (48 es par)
JavaScript freeCodeCamp 13
Nota: El operador de resto es a veces
incorrectamente referido como el operador módulo.
Es muy similar al módulo, pero no funciona
adecuadamente con números negativos.
Asignación compuesta
con adición aumentada
En la programación, es común utilizar asignaciones
para modificar el
contenido de una variable. Recuerda que todo lo que
está a la derecha
del signo de igualdad se evalúa primero, así que
podemos decir:
myVar = myVar + 5;
let myVar = 1;
myVar += 5;
console.log(myVar);
Se mostrará un 6 en la consola.
JavaScript freeCodeCamp 14
Asignación compuesta
con resta aumentada
Al igual que el operador += , -= resta un número de
una variable.
myVar = myVar - 5;
myVar -= 5;
Asignación compuesta
con multiplicación
aumentada
El operador *= multiplica una variable por un
número.
myVar = myVar * 5;
myVar *= 5;
JavaScript freeCodeCamp 15
Asignación compuesta
con división aumentada
El operador /= divide una variable entre otro
número.
myVar = myVar / 5;
myVar /= 5;
JavaScript freeCodeCamp 16
Alan said, "Peter is learning JavaScript".
JavaScript freeCodeCamp 17
Sin embargo, esto se convierte en un problema
cuando es necesario
utilizar las comillas externas dentro de ella.
Recuerda, una cadena
tiene el mismo tipo de comillas al principio y al final.
Pero si tienes
esa misma comilla en algún lugar del medio, la
cadena se detendrá antes
de tiempo y arrojará un error.
Escapa secuencias en
cadenas
Las comillas no son los únicos caracteres que
pueden ser escapados dentro de una cadena. Hay
dos razones para usar caracteres de escape:
JavaScript freeCodeCamp 18
1. Para permitirte usar caracteres que de otra
manera no se podrían representar dentro de una
cadena, como el carácter nueva línea.
Código Resultado
\' comilla simple
\" comilla doble
\\ barra invertida
\n línea nueva
\t tabulador
\r retorno del carro
\b límite de palabra
\f fuente de formulario
FirstLine
\SecondLine
ThirdLine
JavaScript freeCodeCamp 19
no con espacios.
JavaScript freeCodeCamp 20
cadena existente. Esto puede ser muy útil para
romper una cadena larga en varias líneas.
Nota: Ten cuidado con los espacios. La
concatenación
no añade espacios entre las cadenas concatenadas,
así que tendrás que
añadirlos por tu cuenta.
Ejemplo:
Ejemplo:
JavaScript freeCodeCamp 21
ourStr tendrá como valor la cadena Hello, our name
Agrega variables a
cadenas
Al igual que podemos crear una cadena sobre
múltiples líneas a partir de las cadenas literales,
también podemos añadir variables a una cadena
usando el operador "más igual" ( += ).
Ejemplo:
Encuentra la longitud de
una cadena
Puedes encontrar la longitud de un valor de cadena
( String ) escribiendo .length después de la variable
de cadena o literal de cadena.
console.log("Alan Peter".length);
JavaScript freeCodeCamp 22
Por ejemplo, si creamos una variable const firstName
Utiliza la notación de
corchetes para encontrar
el primer carácter en una
cadena
La notación de corchetes es una forma de obtener un
carácter en un índice (index) específico dentro de una
cadena.
La mayoría de lenguajes de programación modernos,
como JavaScript, no
empiezan a contar desde 1 como lo hacen los
humanos. Empiezan desde 0.
Esto se conoce como indexación basada en cero.
Ejemplo:
JavaScript freeCodeCamp 23
Comprende la
inmutabilidad de las
cadenas
En JavaScript, los valores de cadena ( String ) son
inmutables, lo que significa que no pueden ser
alterados una vez creados.
Utiliza la notación de
corchetes para encontrar
el enésimo carácter en una
cadena
También puedes usar notación de corchetes para
obtener el carácter en otras posiciones dentro de una
cadena.
JavaScript freeCodeCamp 24
Recuerda que las computadoras empiezan a contar
desde 0 , así que el primer carácter es en realidad el
carácter cero.
Ejemplo:
Utiliza la notación de
corchetes para encontrar
el último carácter en una
cadena
Con el fin de obtener la última letra de una cadena,
puedes restar uno a la longitud del texto.
Ejemplo:
JavaScript freeCodeCamp 25
Usa notación de corchetes para encontrar el último
carácter en la variable lastName .
Utiliza la notación de
corchetes para encontrar
el carácter enésimo final
en una cadena
Puedes usar el mismo principio que acabamos de
usar para recuperar el
último carácter de una cadena para recuperar el
carácter enésimo final.
Por ejemplo, puedes obtener el valor de la
antepenúltima letra de la cadena const firstName =
Ejemplo:
Palabra en blanco
Se te proporcionan oraciones con algunas palabras
faltantes, como
sustantivos, verbos, adjetivos y adverbios. Luego,
completa las piezas
que faltan con palabras de tu elección de una manera
JavaScript freeCodeCamp 26
que la oración
completa tenga sentido.
Considera esta oración: It was really ____, and we
____ ourselves ____.
Esta oración tiene tres piezas faltantes: un adjetivo,
un verbo y un
adverbio, y podemos añadir palabras de nuestra
elección para
completarla. Luego podemos asignar la oración
completa a una variable de
la siguiente manera:
JavaScript freeCodeCamp 27
Almacena múltiples
valores en una variable
utilizando los arreglos de
JavaScript
Con las variables de arreglos ( array ) de JavaScript,
podemos almacenar varios datos en un solo lugar.
JavaScript freeCodeCamp 28
Podemos acceder a los datos dentro de un arreglo
usando índices.
Los índices de los arreglos se escriben en la misma
notación de
corchetes que usan las cadenas de texto, con la
excepción que en vez de
especificar un carácter, se especifica una entrada en
el arreglo. Así
como las cadenas de texto, los arreglos usan
indexación empezando desde cero, en donde el
primer elemento de un arreglo tiene como índice 0 .
Ejemplo
Ejemplo
JavaScript freeCodeCamp 29
Nota: No debe haber espacios entre el nombre del
arreglo y los corchetes, como array [0] . Aunque
JavaScript pueda procesar esto correctamente,
puedes confundir a otros programadores al leer tu
código.
Accede a arreglos
multidimensionales con
índices
Se puede pensar que un arreglo multidimensional es
como un arreglo de arreglos.
Cuando usas corchetes para acceder a un arreglo, el
primer par de
corchetes hace referencia a los elementos del arreglo
más externo (el
primer nivel), y cada par adicional va haciendo
referencia a un nivel
más interno.
Ejemplo
const arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[[10, 11, 12], 13, 14]
];
JavaScript freeCodeCamp 30
Nota: No debe haber ningún espacio entre el nombre
del arreglo y los corchetes, ni array [0][0] o array [0]
[0]
Ejemplos:
JavaScript freeCodeCamp 31
.pop() se utiliza para sacar un valor del final de un
arreglo. Podemos almacenar este valor sacado
asignándolo a una variable.
En otras palabras, .pop() elimina el último elemento
de un arreglo y devuelve ese elemento.
Ejemplo:
JavaScript freeCodeCamp 32
Utiliza la función .shift() para eliminar el primer
elemento de myArray , y asigna el valor "desplazado"
a un variable nuevo removedFromMyArray .
Ejemplo:
Lista de compras
Crea una lista de compras en la variable myList . La
lista debe ser un arreglo multidimensional que
contenga varios sub-arreglos.
El primer elemento de cada sub-arreglo debe
contener una cadena con
el nombre del artículo. El segundo elemento debe ser
JavaScript freeCodeCamp 33
un número que
represente la cantidad, por ejemplo.
Escribe JavaScript
reutilizable utilizando
funciones
En JavaScript, podemos dividir nuestro código en
partes reutilizables llamadas funciones.
function functionName() {
console.log("Hello World");
}
2. Llama a la función.
JavaScript freeCodeCamp 34
argumentos
Los parámetros son variables que actúan como
marcadores de
posición para los valores que deben ser introducidos
en una función
cuando se llama. Cuando se define una función, se
define típicamente
junto con uno o más parámetros. Los valores reales
que son introducidos
(o "pasados") a una función cuando se llama son
conocidos como argumentos.
Esta es una función con dos parámetros, param1 y
param2 :
JavaScript freeCodeCamp 35
Podemos pasar valores a una función con
argumentos. Puedes utilizar una declaración de
devolución ( return ) para enviar un valor fuera de una
función.
Ejemplo
function plusThree(num) {
return num + 3;
}
global .
JavaScript freeCodeCamp 36
Dentro de la función fun1 , asigna 5 a oopsGlobal sin
usar las palabras clave var , let o const .
function myTest() {
const loc = "foo";
console.log(loc);
}
myTest();
console.log(loc);
JavaScript freeCodeCamp 37
Es posible tener variables locales y globales con el
mismo nombre. Cuando haces esto, la variable local
tiene precedencia sobre la variable global.
En este ejemplo:
function myFun() {
const someVar = "Head";
return someVar;
}
Comprendiendo el valor
indefinido devuelto por
una función
Una función puede incluir la declaración de
devolución ( return ) pero no tiene por qué hacerlo. En
el caso de que la función no tenga una declaración
de devolución ( return ), cuando la llames, la función
procesa el código interno, pero el valor devuelto es
undefined (indefinido).
Ejemplo
let sum = 0;
function addSum(num) {
sum = sum + num;
}
addSum(3);
JavaScript freeCodeCamp 38
addSum es una función sin una declaración de
devolución ( return ). La función cambiará la variable
global sum pero el valor devuelto de la función es
undefined .
Permanece en línea
En Informática una cola (queue) es una estructura de
datos abstracta
donde los elementos se mantienen en orden. Los
nuevos elementos se
JavaScript freeCodeCamp 39
pueden añadir en la parte posterior de la cola y los
elementos antiguos
se retiran de la parte delantera de la cola.
JavaScript freeCodeCamp 40
condiciones, definidas en los paréntesis. Estas
condiciones son
conocidas como condiciones booleanas ( Boolean ) y
sólo pueden ser true o false .
Cuando la condición se evalúa como true , el
programa ejecuta el comando dentro de las llaves.
Cuando la condición booleana se evalúa como false ,
la sentencia dentro de las llaves no se ejecutará.
Pseudocódigo
si (
la condición es verdadera
la sentencia es ejecutada
Ejemplo
test(true);
test(false);
JavaScript freeCodeCamp 41
wasThatTrue es true y devuelva No, that was false en
caso contrario.
Comparación con el
operador de igualdad
Hay muchos operadores de comparación en
JavaScript. Todos estos operadores devuelven un
valor booleano true o false .
function equalityTest(myVal) {
if (myVal == 10) {
return "Equal";
}
return "Not Equal";
}
1 == 1 // true
1 == 2 // false
JavaScript freeCodeCamp 42
1 == '1' // true
"3" == 3 // true
Comparación con el
operador de estricta
igualdad
La estricta igualdad ( === ) es la contraparte del
operador de igualdad ( == ).
Sin embargo, a diferencia del operador de igualdad,
el cual intenta
convertir ambos valores comparados a un tipo
común, el operador de
estricta igualdad no realiza una conversión de tipo.
Si los valores que se comparan tienen diferentes
tipos, se consideran
desiguales, y el operador de estricta igualdad
devolverá falso.
Ejemplos
3 === 3 // true
3 === '3' // false
JavaScript freeCodeCamp 43
Practica comparando
diferentes valores
En los dos últimos desafíos, aprendimos sobre el
operador de igualdad ( == ) y el operador de estricta
igualdad ( === ). Vamos a hacer una rápida revisión y
práctica utilizando estos operadores un poco más.
Ejemplos
3 == '3' devuelve true porque JavaScript realiza la
conversión de tipo de cadena a número. 3 === '3'
devuelve false porque los tipos son diferentes y la
conversión de tipo no se realiza.
typeof 3
typeof '3'
JavaScript freeCodeCamp 44
Comparación con el
operador de desigualdad
El operador de desigualdad ( != ) es lo opuesto al
operador de igualdad. Esto quiere decir que no es
igual, y devuelve false cuando la comparación de
igualdad devuelva true y vice versa. Al igual que el
operador de igualdad, el operador de desigualdad
convertirá los tipos de datos mientras los compara.
Ejemplos
1 != 2 // true
1 != "1" // false
1 != '1' // false
1 != true // false
0 != false // false
Comparación con el
operador de estricta
desigualdad
El operador de estricta desigualdad !== es el
opuesto lógico del operador de estricta igualdad. Esto
significa "Estrictamente Desigual", y devuelve false
cuando la comparación de estricta igualdad
devolvería true y vice versa. El operador de estricta
desigualdad no convertirá los tipos de datos.
Ejemplos
3 !== 3 // false
3 !== '3' // true
4 !== 3 // true
JavaScript freeCodeCamp 45
Agrega el operador de estricta desigualdad a la
sentencia ifpara que la función devuelva la cadena
Not Equal cuando val no sea estrictamente igual a
17
Comparación con el
operador "mayor que"
El operador mayor que ( > ) compara los valores de
dos números. Si el número a la izquierda es mayor
que el número a la derecha, devuelve true . De lo
contrario, devuelve false .
Ejemplos
5 > 3 // true
7 > '3' // true
2 > 3 // false
'1' > 9 // false
Comparación con el
operador "mayor o igual
que"
El operador mayor o igual que ( >= ) compara el valor
de dos números. Si el número de la izquierda es
mayor o igual que el número de la derecha, devuelve
true . De lo contrario, devuelve false .
JavaScript freeCodeCamp 46
mientras los compara.
Ejemplos
6 >= 6 // true
7 >= '3' // true
2 >= 3 // false
'7' >= 9 // false
Comparación con el
operador "menor que"
El operador menor que ( < ) compara los valores de
dos números. Si el número a la izquierda es menor
que el número a la derecha, devuelve true . De lo
contrario, devuelve false . Al igual que el operador de
igualdad, el operador menor que convertirá los tipos
de datos mientras los compara.
Ejemplos
2 < 5 // true
'3' < 7 // true
5 < 5 // false
3 < 2 // false
'8' < 4 // false
Comparación con el
operador "menor o igual
que"
JavaScript freeCodeCamp 47
El operador menor o igual que ( <= ) compara el valor
de dos números. Si el número de la izquierda es
menor o igual que el número de la derecha, devuelve
true . Si el número a la izquierda es mayor que el
Ejemplos
4 <= 5 // true
'7' <= 7 // true
5 <= 5 // true
3 <= 2 // false
'8' <= 4 // false
Comparaciones con el
operador lógico "and"
A veces tendrás que probar más de una cosa a la
vez. El operador lógico and ( && ) devuelve true si y
solo si los operandos a la izquierda y a la derecha
son verdaderos.
if (num > 5) {
if (num < 10) {
return "Yes";
}
}
return "No";
JavaScript freeCodeCamp 48
if (num > 5 && num < 10) {
return "Yes";
}
return "No";
Comparaciones con el
operador lógico "or"
El operador lógico or ( || ) devuelve true si
cualquiera de los operandos es true . De lo contrario,
devuelve false .
JavaScript freeCodeCamp 49
Combina las dos sentencias if en una sola
sentencia que devuelva la cadena Outside si val no
está entre 10 y 20 , inclusivo. De lo contrario,
devuelve la cadena Inside .
Introducción a las
sentencias "Else"
Cuando la condición en una sentencia if es
verdadera, se
ejecutará el bloque de código que va a continuación.
¿Qué sucede cuando
la condición es falsa? Normalmente no debería
ocurrir nada. Con la
sentencia else , se puede ejecutar un bloque
alternativo de código.
Introducción a las
sentencias "Else If"
Si tienes múltiples condiciones que necesitan ser
resueltas, puedes encadenar sentencias if junto
con sentencias else if .
JavaScript freeCodeCamp 50
} else {
return "Between 5 and 15";
}
if .
if .
function foo(x) {
if (x < 1) {
return "Less than one";
} else if (x < 2) {
return "Less than two";
} else {
return "Greater than or equal to two";
}
}
function bar(x) {
if (x < 2) {
return "Less than two";
} else if (x < 1) {
return "Less than one";
} else {
return "Greater than or equal to two";
}
}
JavaScript freeCodeCamp 51
Mientras que estas dos funciones parecen casi
idénticas, si pasamos un número a ambas,
obtenemos diferentes salidas.
foo(0)
bar(0)
Encadena sentencias if
else
Las sentencias if/else pueden ser encadenadas
para crear una lógica compleja. Aquí hay
pseudocódigo de múltiples declaraciones if / else
if encadenadas:
if (condition1) {
statement1
} else if (condition2) {
statement2
} else if (condition3) {
statement3
. . .
} else {
statementN
}
Código de golf
JavaScript freeCodeCamp 52
En el juego de Golf, cada agujero tiene un par , que
significa, el número promedio de strokes
que se espera que haga un golfista para hundir la
pelota en el agujero
para completar el juego. Dependiendo de qué tan por
encima o por debajo
del par estén tus strokes , hay un nombre diferente.
1 "Hole-in-one!"
par - 1 "Birdie"
par "Par"
par + 1 "Bogey"
Seleccionando entre
muchas opciones con
declaración switch
Si tienes muchas opciones para elegir, usa una
declaración switch. Una sentencia switch prueba un
valor y puede tener muchas sentencias case que
definen varios valores posibles. Las sentencias se
JavaScript freeCodeCamp 53
ejecutan desde el primer valor case coincidente
hasta que se encuentra un break .
switch (lowercaseLetter) {
case "a":
console.log("A");
break;
case "b":
console.log("B");
break;
}
switch (num) {
case value1:
statement1;
break;
case value2:
JavaScript freeCodeCamp 54
statement2;
break;
...
default:
defaultStatement;
break;
}
Múltiples opciones
idénticas en las
declaraciones "switch"
Si la sentencia break es omitida en un caso ( case )
de una sentencia switch , las siguientes sentencias
case serán ejecutadas hasta encontrar un break . Si
JavaScript freeCodeCamp 55
Reemplazando cadenas de
"If Else" por "Switch"
Si tienes muchas opciones entre las que elegir, una
sentencia switch puede ser más fácil de escribir que
muchas sentencias if / else if encadenadas. Lo
siguiente:
if (val === 1) {
answer = "a";
} else if (val === 2) {
answer = "b";
} else {
answer = "c";
}
switch (val) {
case 1:
answer = "a";
break;
case 2:
answer = "b";
break;
default:
answer = "c";
}
Devuelve valores
booleanos desde
funciones
Puede recordar de la comparación con el operador
de igualdad que todos los operadores de
comparación devuelven un valor booleano true o
false .
JavaScript freeCodeCamp 56
A veces la gente usa una sentencia if/else para
hacer una comparación, como esta:
function isEqual(a, b) {
if (a === b) {
return true;
} else {
return false;
}
}
function isEqual(a, b) {
return a === b;
}
Patrón de devolución
anticipado para funciones
Cuando se alcanza una sentencia return , la
ejecución de la función actual se detiene y el control
se devuelve a la ubicación de la llamada.
Ejemplo
function myFun() {
console.log("Hello");
return "World";
console.log("byebye")
}
myFun();
JavaScript freeCodeCamp 57
se mostrará en la consola, porque la función termina
en la sentencia return .
Conteo de cartas
En el juego de casino Blackjack, un jugador puede
determinar si tiene
una ventaja en la siguiente mano sobre la casa
llevando la cuenta del
número relativo de cartas altas y bajas que quedan
en la baraja. Esto se
llama cuenta de tarjetas.
+1 2, 3, 4, 5, 6
0 7, 8, 9
JavaScript freeCodeCamp 58
con el conteo actual y la cadena Bet (Apuesta) si el
conteo es positivo, o Hold (Espera) si el conteo es
cero o negativo. El conteo actual y la decisión del
jugador ( Bet o Hold ) deben estar separados por un
solo espacio.
Sugerencia
NO reinicies count a 0 cuando el valor sea 7, 8 o 9.
NO devuelvas un arreglo.
NO incluyas comillas (individuales o dobles) en el
resultado.
JavaScript freeCodeCamp 59