Jenaro Calvino

Coding & Dummies | Episode 3

Objetivo: Todo App

Javascript

Como correrlo?

  <!-- ... -->
  <body>
    <script>
      // inline
      console.log("Hola!");
    </script>
    <script src="app.js"></script>
    <!-- Debe ser al final del body -->
  </body>

Variables

reasignar scope/alcance
const no block
let si block
var si function

Tipos

typeof variable

  • Strings
  • Numbers
  • null (typeof da object pero es un bug)
  • undefined
  • Boolean
  • Functions
  • Objects | Arrays

Funciones

Incluidas
  • Numbers - Math.max(), Math.min()
  • Strings - 'asd'.toUpperCase()
  • Objects - Object.entries()
  • Arrays - map | forEach
Custom

Declaracion:

function sumar(x, y) {
  return x + y
}

Llamar:

sumar(2, 4) // 6

Otras formas de declarar:

Arrow function

const sumar = (x, y) => {
  return x + y
}

Arrow function con retorno implicito

const sumar = (x, y) => x + y
const sumar = function(x, y) {
 return x + y
}

Scope

function sumarConstante(x) {
 const constante = 5
 return x + constante
}

sumarConstant(2) // 7
console.log(constante) // ReferenceError: constante is not defined
const constante = 5
function sumarConstante(x) {
 return x + constante
}

sumarConstant(2) // 7
console.log(constante) // 5

Hoisting

Quienes?

  • function
  • var

Que?

nombreDelGato("Dumas");

function nombreDelGato(nombre) { 
  console.log("El nombre de mi gato es " + nombre);
}

// El nombre de mi gato es Dumas
nombreDelGato("Dumas");

const nombreDelGato = (nombre) =>  { 
  console.log("El nombre de mi gato es " + nombre);
}

// Uncaught ReferenceError: nombreDelGato is not defined

Closure

function liveADay() {
  let food = 'cheese'; // Declare `food`
  function eat() {
    console.log(food + ' is good'); // Read `food`
  }
  eat();
}
liveADay();