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".
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".
JavaScript
By Adrian Rangel
JavaScript
- 742