A lo largo de este curso se explica mucho de las bases de programación y sus definiciones. Hice este tutorial con notas y especificaciones que diferencian a JS de cualquier otro lenguaje y como usar su sintaxis. Entonces si ya sabes programar y te interesa JAvaScript te recomiendo leer esto.
Espero que les sirva 😃
Elementos básicos de JS
Se comenta con //
JS es débilmente tipado
console.log(); para imprimir en consola
Existe el centinela en los strings ${}
Variables
(const/let/var) name = value;
var
Se pueden reasignar y reinicializar. Su alcance está dentro de toda la función en la que este . No se recomienda mucho su uso a partir de ECMAScript 6. Es similar a un estático
const
Esta es la manera de hacer variables que no cambian
let
Esta es la usada si el valor es mutable. No se puede reinicializar, tiene el alcance a su bloque
Funciones
Declarativas
Estas son las funciones cualquiera de todos los lenguajes, se indican con
functionname(){
}
se retorna con return y como JS es débilmente tipado no es necesario indicarle el tipo de dato, ni el de sus parámetros
Anonimas
Estas son las funciones de un solo uso, se declaran y llaman al mismo tiempo asi:
(function(param1,param2){exp})(valueParam1,valueParam2)
el retorno de esto se puede almacenar en una variable. La función se ejecutará en tiempo de compilación y el valor quedará en la variable.
Scope
El alcance de las variables, puede ser de función (con var), global si está declarada fuera de todo. o de bloque (let y const) es decir dentro de llaves {}
Hoisting
En inglés elevación, si declaras cosas después de utilizarlas JS hará algo llamado hoisting, declara sus variables y funciones antes de compilar el resto del código, las variables las declarara sin inicializarlas, por lo que tendrán un valor undefined qué es una especie de void o unit, las funciones si las declara por completo con todo y sus sentencias
Coerción
También llamado cast en otros lenguajes es la manera en la que JS cambia de un tipo de dato a otro, puede ser implícita o explícita, JS tiene muchas maneras de hacer esto
Valores a condicional
En JS se puede usar cualquier tipo de dato como booleano, si el dato está vacío o es inexistente será false, excepto por objetos y arreglos, por ejemplo: 0, “”, null, false. Los tipos de datos “existentes” serán true, 3,-1, “ “, “a”, {}, [].
Operadores
Existen los operadores aritméticos(+,-,*,/,%), los operadores lógicos(&&, ||, !) de asignación(++,+=,–) y de comparación (==)compara el contenido sin importar tanto el tipo de dato, por ejemplo “0” == 0 es true, con === también exige el tipo de dato
Control de flujo
Condicionales
La sintaxis de if y else es la siguiente:
if(condición){
}elseif(condición){
}else{
}
El operador ternario existe en JS y tiene la sintaxis: condición?(siEsTrue):(siEsFalse);
El switch también existe y su sintaxis es
switch(var){
case1:
//codigo aqui break; case2:
//codigo aquibreak; default:
//codigo aqui
Iteradores
For
La sintaxis de un for esfor(var i = 0; i < 10; i=i+1){}
For…of
Es el equivalente a un foreach, se escribe así for(letter of alphabet){}
,siendo alphabet una estructura de datos como un arreglo.
While, do… while
La sintaxis es while(condición){}
y del do while es do{}while(condición)
Objetos
Arreglos / arrays
Se declaran con var a =[];
se separan por comas su índice inicia en cero. Metodos utiles:
pop quita el último del array, push agrega al final, shift quita el primero, unshift agrega al inicio, indexOF que regresa el index de un elemento
Métodos de arreglos
Estos métodos generan nuevos arreglos con funciones anónimas(me referiré a ellas con FA) que van en el parámetro del método. La función debe tener un parámetro que iterara como cada elemento del arreglo y devolverá algo
filter, su FA debe devolver un bool que determina si el elemento que se este iterando actualmente estará en el nuevo arreglo o no
find es similar a filter pero solo devolverá el primer elemento que cumpla y no un arreglo
map, su FA devolverá el elemento que estará en el nuevo arreglo directamente
foreach no devuelve nada , solo iterara cada valor del arreglo sin devolver nada
some,devuelve un booleano, su FA devolverá un booleano, si algún elemento devuelve true el método también lo hará si no hay ninguno será false.
Objetos
En JS los objetos son variables var a ={};
,sus atributos se separan por , y se inicializan con :
var carro={
año:1995,
kilometraje:1500,
color:”azul”
};
Las propiedades se llaman a través de . (el punto)
carro.color.
Para referirse al objeto dentro del mismo se usa this: especificaciones:(this.año+this.color)
Métodos
los métodos se definen como
var carro = {
acelerar:function(){
}
};
e igual se llaman por el punto a.acelerar()
Clases / constructores
En JS no es necesario tener clases y constructores para generar objetos, pero sí podemos usarlas si las necesitamos.
El equivalente a las clases se hace con una función
functioncar(){}
para declarar los atributos que tendrá la clase haremos referencia a ellos “como si ya existieran” Para generar un objeto de estas lo almacenaremos en una variable var a = new car();
También podremos generar funciones con this.frenar = function(){}