= 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]]