2022 Diapo 1 Javascript Avanzado
2022 Diapo 1 Javascript Avanzado
[email protected]
• JavaScript en el browser
• API HTML 5
• Jquery
http://kangax.github.io/compat-table/es6/
• ECMAScript 5 no agregó ninguna sintaxis nueva
• ¡ECMAScript 6 sí lo hace!
• Compiladores traducen código de un lenguaje a
otro.
• Ej. Java to bytecode
• ESLint
• JSHint
• Prettier
• Gulp: que se basa en código JavaScript que escribes en un
archivo para describir las diferentes tareas y enlazarlas.
• Webpack
• Browserify
• Parcel
• Rollup
• Cambia algunos comportamientos por defecto de
javascript para facilitar el descubrimiento de errores,
optimizar la performance, y migrar a futuras versiones de
ES
• Template literal
• Object literal: {nombre: “Juan”, madre: “Maria”}
Usar cualquiera de los siguientes valores con un operador
booleano, o en un bloque condicional coercionara a falso:
• 0 (cero)
• ‘’” (string vacio)
•null
•undefined
•NaN
•false
Variables
y var x;
Constantes
let x;
x = 'abc’;
const y = 20;
a = 10; // global scope
var b = 20; // function scope
Global vs function vs block let c = 30; // block scope
const d = 40; // block scope
var a = 5;
var b = 10;
if (a === 5) {
let a = 4; // El alcance es dentro del bloque if
var b = 1; // El alcance es global
console.log(a); // 4
console.log(b); // 1
}
console.log(a); // 5
console.log(b); // 1
console.log(`${a}+${b} is ${a+b}`);
Template literal
console.log( obj["make"] );
Mivar = ‘model‘;
console.log( obj[mivar] );
a[100] = 10;
https://www.w3schools.com/js/js_type_conversion.asp
• En JavaScript, las funciones son objetos
• Pueden asignarse a variables
• Asignadas como una propiedad de un objeto
• Function literals (function expressions, anonymous
functions)
• Pueden ser pasadas como argumento a otra
función.
• Pueden ser retornadas como resultados de
una función
function foo() { Declaración de una
1 alert("foo"); función regular
}
• Function literal
bar = function() {
2 alert("bar");
• Asignación
};
Function como
setTimeout( bar, 5000 );
parámetro
setTimeout( function() { Function literal
return bar;}, Como parámetro
5000 )
a=>a*2
()=> ‘Aprobado’
(a,b)=>a*b
function add(x,y) { add(10,20);
return x+y; add("10","20");
} add(10);
add(10,20,30);
2 const obj = {
primerNombre: ‘Jose’,
Color: ‘Azul’
}
const {primerNombre, Color} = obj
console.log(primerNombre,Color) // ‘Jose’, ‘Azul'
1 const note = {
id: 1,
title: 'My first note',
date: '01/01/1970’,
}
2 const usuario = {
id: 3,
nombre: 'Ron',
}
const usuarioUpdate = { ...user, isLoggedIn: true }
console.log(usuarioUpdate) // {id: 3, nombre: "Ron", isLoggedIn: true}
Los parámetros Rest nos proporcionan una manera de pasar
un conjunto indeterminado de argumentos que el operador
agrupa en forma de Array.
// ES6
function printName(name, ...fancyNames){
var fullName = name;
fancyNames.forEach(fancyN => fullName += ' ' + fancyN);
console.log(fullName);
};
printName('Felipe'); // Felipe
printName('Felipe', 'Juan', 'Froilan'); //Felipe Juan Froilan