¿Cuál es el estandard de Javascript?
ECMA-262
Paradigmas que implementa JavaScript
Caracteristicas Javascript (ES5)
Motores Javascript en los principales navegadores
Leguajes basados en Javascript. Trasnpilers
Si hablamos de un runtime enviroment Javascript, hablamos de ….
NodeJS (interprete V8)
NOTA: Necesitamos tener instalado NodeJs si pretendenmos usar los gestores de paquetes escritos en JS (npm, Yarn)
Aplicaciones para gestión Paqueteria/Dependencias ‘mundo’ Front
Aplicaciones para automatización de tareas
Frameworks Javascript
Si decimos ‘JavaScript Vanilla’, ¿A qué nos referimos?
A Javascript puro.
¿Qué es JQuery?
Es una libreria. No confundir con los frameworks (Angular, React)
Como creo una app Angular desde cero
npm install -g @angular/cli
ng new my-angular
ng g c home
ng build
Versiones de ECMAScript y sus años
Tres manera de definir variables en Javascript
¿Para que sirve ‘call’ en JS?
Con ‘call’ podemos invocar una función. Imaginemos que tenemos contenida la funcion en una variable/parametro de otra función, y queremos ejecutarla:
function f1(){
console.log('Texto F1');
}
function f2(){
console.log('Texto F2');
}
function invocadora (f) {
f.call
}
invocadora(f2);Mostrará en pantalla el texto ‘Texto F2’
NOTA: Se prodria ejecutar como ‘f.call()’ o como ‘f()’
Programación orientada a prototipos. Ejemplo
//Funcion constructora o generadora
function Person(edad, nombre){
this.edad = edad;
this.nombre = nombre;
}
Person.prototype.saluda=function(){
console.log('Hola, soy ' + this.nombre + ' y tengo ' + this.edad + ' años' );
}
let p1 = new Person(30, 'Luis');
let p2 = new Person(40, 'Maria');
p1.saluda();
p2.saluda();
Consola:
Hola, soy Luis y tengo 30 años Hola, soy Maria y tengo 40 años
NOTA: si metiesemos la función dentro de Person, al crear objetos nos la duplicaría por cada objeto pero al hacerlo a través de ‘prototype’ solo la crea una vez
Tipos de datos en Js
Operadores en JS
Manejo del objeto Arrays en Js
let colors = ['red', 'green', 'blue'];
console.log('tercer elemento: ' + colors.at(2)) ;
//Sacar el último elemento eliminandolo
console.log(colors.pop()) ; //blue --> colors = ['red', 'green'];
console.log(colors.pop()) ; //green --> colors = ['red'];
//Meter por el final y retorna el nuevo número de elementos
console.log(colors.push('violet')) ; //2 --> colors = ['red', 'violet'];
console.log(colors.push('purple')) ; //2 --> colors = ['red', 'violet', 'purple'];
//Sacar el primer elemento eliminandolo
console.log(colors.shift()) ; //red --> colors = ['violet', 'purple'];
console.log(colors.shift()) ; //violet --> colors = ['purple'];
// color.sort()
// Array.prototype.length (propiedad) --> color.length
// color.forEach( (element) => console.log(element)); --> ejecuta la función
// por cada elemento
// * color.splice(start, num.Borrados, itemInsert, ....)Funcion ‘splice()’ de los arrays en JS
Función ‘navaja suiza’. En el lugar del índice dado, borra tantos elementos como se indique y añade en esa posición los elementos listados.
splice(start) splice(start, deleteCount) splice(start, deleteCount, item1) splice(start, deleteCount, item1, item2) splice(start, deleteCount, item1, item2, /* …, */ itemN) //******************* //Remove 0 (zero) elements before index 2, and insert "drum" const myFish = ["angel", "clown", "mandarin", "sturgeon"]; const removed = myFish.splice(2, 0, "drum"); // myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"] //******************** //Remove 1 element at index 2, and insert "trumpet" const myFish = ["angel", "clown", "drum", "sturgeon"]; const removed = myFish.splice(2, 1, "trumpet"); // myFish is ["angel", "clown", "trumpet", "sturgeon"] // removed is ["drum"] //********************** //Remove 2 elements from index 0, and insert "parrot", "anemone" and "blue" const myFish = ["angel", "clown", "trumpet", "sturgeon"]; const removed = myFish.splice(0, 2, "parrot", "anemone", "blue"); // myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"] // removed is ["angel", "clown"]
Manejo del objeto JSON en Js
JSON.stringify(value)
JSON.stringify(value, replacer)
JSON.stringify(value, replacer, space)
//**********************
let person = {
firstName: 'John',
lastName: 'Doe';
age: 30
};
console.log(JSON.stringify(person));
//{"firstName": "John", "lastName": "Doe", "age": 30};
//**************************
JSON.parse(text[, reviver])
//**************************
const personJson = {"firstName": "John", "lastName": "Doe", "age": 30};
let personObj = JSON.parse(personJson);
console.log(personObj.firstName); // John
Cómo hariamos herencia en Javascript
Encadenando prototypes.
funcion Persona(){
}
Persona.prototype.saluda = function() { console.log('Hola mundo');}
function Empleado(){
}
Empleado.prototype = Persona.prototype //Habriamos heredado de PersonaProducto para calidad de código en JS
ESLint
Expresiones regulares en JS
NOTA: Estas funciones son de patron, seria algo asi como:
var myRe = /d(b+)d/g;
var myArray = myRe.exec("cdbbdbsbz");