= 09/03/2020 == librerias * creación de librerías (npm install) para reutilizar en más de un proyecto ng new myAngularLib --create-application=false * un servicio == workspace * nueva metodología de desarrollo de aplicaciones, no se crea la estructura clásica de directorios * se trabaja sobre "librerias"... ng g library * esto creará un directorio **PROJECTS** y dentro la librería... Con su estructura más "tradicional" de directorios de un proyecto angular * y eso, por cada librería que se quiera crear == debugging * comunidad con tutoriales e info: [[https://fireship.io/]] * augury * complemento chrome * **F12**, herramientas desarrolladores * consultar valores, mostrar dependencias * Debugger * con las herramientas de desarrollador, cuando se ejecute la instrucción parará la ejecución del programa y se podrán consultar el estado de todas las propiedades. * a partir de ahí, podemos ir avanzando instrucción a instrucción o saltar al próximo punto, etc... * console.log == typescript * [[http://www.typescriptlang.org/]] * instalar typescriptnpm i -g typescript * ...para acceder al **typescriptcompiler**tsc -v * [[http://json2ts.com/]] * let y const * ''var x = 2;'' -> global * ''let x = 2;'' -> scope { } * scope: * ES2015: solo global y función * después: global + función + bloque { } * arrow functions: * ''const x= (x,y) => x*y;'' * ''const x = (x,y) => { return x*y; }'' <- para casos, no este, más complejos, con más instrucciones * template literals: * ''%%`cadena ${variable} ${variable}`%%'' * comillas inclinadas, uso de literales + variables * acepta salto de líneas * rest parameter * nos permite representar un número indefinido de argumentos * function myForm(a,b, ...otros) { console.log("a",a); console.log("b",b); console.log("otros", otros); // array } * spread operator:var partes= ['shoulders','knees']; var lyrics = ['head', ...partes,'and','toes']; // ['head', 'shoulders','knees','and','toes']; function myFunction(a,b,c) {} var args = [0,1,2]; myFunction(...args); * destructuring: * [a,b]=[b,a] # intercambio de variables * vat a,b,rest; [a,b, ...rest] = [10,20,30,40,50]; console.log(rest); # [30,40,50] * [[https://developer.mozilla.org/ca/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment]]