JavaScript

¿Que es programación?

Tipos de Programación

 

Lenguajes de Alto Nivel

 

 

Lenguaje Ensamblador

 

 

Código Maquinal

 

Compilado vs. Interpretado

Intro a JavaScript

El lenguaje de la Web

Historia de JS

  • 1995: En Netscape, Brendan Eich creo"LiveScript", que fue renombrado a "JavaScript".
  • 1996: Microsoft lanza "JScript", un clon, para IE3.
  • 1997: JavaScript se estandarizó en la especificación "ECMAScript".
  • 2005: "AJAX" fue acuñado, y comienza la era de la web 2.0.
  • 2006: jQuery 1.0 fue lanzado.
  • 2010: Node.JS fue lanzado.
  • 2015: ECMAScript 6 casi finalizado (unos meses más).

 

Declaraciones

Cada Instrucción en JS es una declaración, como:

console.log('Hola Mundo!');

Intentenlo en repl.it

Variables

Las Variables sirven para almacenar datos.

var x;
x = 5;
console.log(x);

Inicializar y asignar en 2 declaraciones

O inicializar y asignar en una declaración

var y = 2;
console.log(y);

Re-asignar el valor después

var x = 5;
x = 1;

Tipos de Datos Primitivos

strings: Son una secuencia de caracteres.

var greeting = 'Hello Isabella';
var restaurant = "Pepe Toño Pizza";

numbers: Son numeros enteros (5,-10) o de punto flotante 5.74839

var myAge = 28;
var pi = 3.14;

boolean: Representan valores logicos, true o false

var iLoveLearning = true;
var imLazy = false;

undefined: Representan un valor que aun no esta definido

var notDefinedYet;

null: Representan un valor que explicitamente esta vacio.

var goodPickupLines = null;

Nombres de Variables

  • Empiezan con letras, $ ó _
  • Solo pueden tener letras, numeros, $ y _
  • Case sensitive
  • Evitar palabras reservadas (if else for)
  • Elije claridad y significado
  • Prefiere camelCase para palabrasMultiples (en lugar de under_score)
  • Elije una convención y aferrate a ella

Bien

Mal

var numPeople, $mainHeader, _num, _Num;
var 2coolForSchool, soHappy!

Expresiones

var x = 2 + 2;
var y = x * 3;
var name = 'Adrian';
var greeting = 'Hello ' + name;
var title = 'Yedi Master';
var formalGreeting = greeting + ', ' + title;

Las variables tambien pueden almacenar el resultado de una expresión:

Ejercicios

El Adivino

¿Por qué pagar un adivino cuando puedes programar tu fortuna?

  • Almacena las siguientes variables: numero de hijos, nombre de pareja, lugar geografico, puesto de trabajo.
  • Imprime tu fortuna en pantalla asi: "Vas a ser un X en Y, casado con Z y con N hijos."

Ejercicios

Calculadora de Edad

¿Olvidaste cuantos años tiene alguien? Calculalo!

  • Almacena el año actual en una variable.
  • Almacena el año en que nacieron en una variable.
  • Calcula sus dos posibles edades basandote en los valores almacenados .
  • Despliegalos en pantalla de la siguiente manera: "Tiene NN o NN años".

Normal

Hacker

Convertidor de Temperatura

Que calor hace! Hay que hacer un convertidor de tempratura.

  • Almacena en una variable, una temperatura en celcius.
  • Convierte la temperatura a farenheit e imprime "NN°C es NN°F".
  • Ahora almacena en una variable, una temperatura en farenheit.
  • Convierte la temperatura a celcius e imprime "NN°F es NN°C".
F = C * 1.8 + 32
F=C1.8+32
C = (F - 32) / 1.8
C=(F32)/1.8

Funciones

Las funciones son una serie de declaraciones reutilizables

Primero declaras una función.

function sayMyName() {
  console.log('Hola Adrian!');
}

Ahora llamala (cuantas veces quieras):

sayMyName();

Argumentos

Las funciones pueden aceptar cualquier número de argumentos con nombre:

Primero declaras una función.

function sayMyName(name) {
  console.log('Hi, ' + name);
}

sayMyName('Adrian');
sayMyName('Juan Perez');
function addNumbers(num1, num2) {
  var result = num1 + num2;
  console.log(result);
}

addNumbers(7, 21);
addNumbers(3, 10);

También puedes pasar variables.

var number = 10;
addNumbers(number, 2);
addNumbers(number, 4);

Valores de retorno

La palabra clave return devuelve un valor a quien sea que la llame:

function addNumbers(num1, num2) {
  var result = num1 + num2;
  return result; // Cualquier cosa después de esta linea no se va a ejectuar
}

var sum = addNumbers(5, 2);
console.log(sum); // => 7

var biggerSum = addNumbers(2, 5) + addNumbers(3, 2);
console.log(biggerSum); // => 12

Scope de variables

Las variables en JS tienen un "function scope". Solo son visibles en la función que estan definidas:

function addNumbers(num1, num2) {
  var localResult = num1 + num2;
  console.log("El resultado local es: " + localResult);
}
addNumbers(5, 7);
console.log(localResult);

Variables con "local scope"

var globalResult;
function addNumbers(num1, num2) {
  globalResult = num1 + num2;
  console.log("El resultado global es: " + globalResult);
}
addNumbers(5, 7);
console.log(globalResult);

Variables con "global scope"

Convenciones de codificación: Espaciado

Utiliza saltos de línea entre las declaraciones y espacios (o tabs) para delimitar los bloques.

function addNumbers(num1,num2) {return num1 + num2;}

function addNumbers(num1, num2) {
return num1 + num2;
}

Mal:

function addNumbers(num1, num2) {
  return num1 + num2;
}

Bien:

Comentarios

// Puedes escribir comentarios en una linea
var x = 4; // O puedes escribirlos después de una declaración

/* 
  O puedes escribir comentarios multi-linea, si tienes algo muy largo
  que decir como esta descripción larga.
*/

Ejercicios

El Adivino

¿Por qué pagar un adivino cuando puedes programar tu fortuna?

  • Escribe una función llamada tellFortune que:
    • tome 4 argumentos: numero de hijos, nombre de pareja, lugar geografico, puesto de trabajo.
    • imprime tu fortuna en pantalla asi: "Vas a ser un X en Y, casado con Z y con N hijos."
  • Llama a la función 3 veces con 3 valores distinos en los argumentos

Ejercicios

Calculadora de Edad

¿Olvidaste cuantos años tiene alguien? Calculalo!

  • Escribe una función llamada calculateAge que:
    • tome 2 argumentos: año de naciemiento, año actual.
    • Calcula sus dos posibles edades basandote en los valores almacenados .
    • Despliegalos en pantalla de la siguiente manera: "Tiene NN o NN años".
  • Llama la función 3 veces con un set diferente de valores.

Normal

Hacker

Convertidor de Temperatura

Que calor hace! Hay que hacer un convertidor de tempratura.

  • Crea una función llamada celsiusToFahrenheit:

    • Almacena en una variable, una temperatura en celcius.
    • Convierte la temperatura a farenheit e imprime "NN°C es NN°F"
  • Crea una función llamada fahrenheitToCelsius:

    • Ahora almacena en una variable, una temperatura en farenheit.
    • Convierte la temperatura a celcius e imprime "NN°F es NN°C".
F = C * 1.8 + 32
F=C1.8+32
C = (F - 32) / 1.8
C=(F32)/1.8

JavaScript

By Adrian Rangel