

JavaScript



Introducción





developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
JavaScript es un lenguaje de programación interpretado, es orientado a objetos, basado en prototipos, imperativo, debilmente tipado y dinámico.
Éste lenguaje es utilizado principalmente en las páginas web para hacerlas más dinámicas.






¿Por qué JS?





developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
- Es el lenguaje de la web
- Un mismo lenguaje para cliente y servidor (node.js y js)
- Compatible con todos los navegadores
- Es un lenguaje fácil de aprender






¡Comenzamos!





developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com

Escribimos el siguiente comando en la terminal:
npm install --global javascripting










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com

Para ver el menú se debe escribir el comando:
javascripting
mkdir javascripting
cd javascripting
JavaScripting
Creamos una carpeta para trabajar todos los ejercicios:










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com

JavaScripting
Para ejecutar el programa con las pruebas del workshop:
javascripting run nombreArchivo.js
Para verificar el programa:
javascripting verify nombreArchivo.js










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com

Para mostrar información se utilizan diferentes métodos
Imprimir en pantalla
console.log("texto")
alert("texto")
document.write("texto")










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com

Variables
var x = "5";
var z = 3 + 4;
z = z + x;
x = "javascript";
var y = " is cool";
console.log(x + y);


// 7
// "75"








developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Se puede utilizar comillas simples o dobles para definir un string.
En JS no existe el tipo caracter.

Strings










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Para conocer la longitud de un string se utiliza el método length

Strings










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com

Strings
// "S"
"JavaScripting".charAt(4);
"JavaScripting".indexOf('a');
"JavaScripting".indexOf('a',2);
"JavaScripting".slice(4);
"abc".split(''); "a|b|c".split('|');
// 1
// 3
// "Scripting"
// ["a", "b", "c"]
// ["a", "b", "c"]










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
No está permitido:
s[0] = 'C';

Strings
Su equivalente:
s = s.split('');
s[0] = 'C';
s = s.join('');










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Sólo existe un tipo: flotante de 64 bits.

Números










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Math.round(4.7); // 5
Math.pow(3,2); // 9
Math.sqrt(64); // 8
Math.abs(-4.7); // 4.7

Números










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
(3).toString(); // "3"
(3).toString(10); // "3"
(3).toString(2); // "11"
(15).toString(16); // "f"

Números










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
var x = Math.PI;
x.toString(); // "3.141592653589793"
x.toFixed(); // "3"
x.toFixed(5); // "3.14159"

Números










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Falsy Values

Existen diferentes valores que se denominan falsos en JS, es decir, aquellos que en un condicional retornarán falso.
- false
- null
- undefined
- ""
- 0
- NaN










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Arrays

Tienen el mismo funcionamiento que en otros lenguajes de programación.
Heredan de Array.prototype, en el cual se tienen definidos diferentes métodos.










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Arrays

var n = [5,4,3,10];
var f = function (item,index,arr) {
console.log("arr : ", arr);
console.log("idx : ", index);
console.log(item);
};
n.forEach(f);
var sum = 0;
console.log(sum);
var f = function (item,index,arr) {
sum += item;
};
console.log(sum);El método forEach() ejecuta una función por cada elemento de un array en orden.










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Arrays

El método map() hace lo mismo que forEach() con la diferencia de que este retorna un array con los cambios hechos al original.
var n = [1,2,3,4];
var f = function (item) {
return 2*item;
}
var y = n.map(f);
console.log(y);









developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Arrays

El método some() analiza si algún elemento del array cumple un una condición.
var names = ["Caro", "Dani", "Vane"];
var names2 = ["Jaun","Pepe"];
var findVane = function (item) {
return item === "Vane";
}
names.some(findVane); // true
names2.some(findVane); // false










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Objetos

En JS todos los valores son OBJETOS, exceptuando los
números, strings, booleanos(true, false), null, y undefined, los cuales son Object-like (tienen métodos pero son inmutables).










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Objetos

Un objeto es un contenedor de propiedades, caracterizados por un nombre y un valor.
Todos los objetos de JS están vinculados a un objeto prototipo del cual pueden heredar sus propiedades: Object.prototype.










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Funciones

Todo en JS son objetos, inclusive las funciones.
Se puede almacenar funciones en variables, objetos y arreglos.
Las funciones están vinculadas a Function.prototype, el cual a su vez está vinculado a Object.prototype.










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Funciones

Existen dos formas de crear una función: declarativas y de expresión.
function f() {} // declarativa
var fun = function f () {}; // de expresión









developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Funciones

La diferencia entre ambas radica en que la primera forma parte de un programa global, y son evaluadas antes que cualquier otra expresion. La segunda es una expresion que forma parte de un punto concreto, y es evaluada en tal punto.










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Funciones

A parte de los parametros definidos por una funcion, este recibe siempre this y arguments.
Si se envían más parametros de los esperados, estos se ignoran; si por el contrario, se envían menos parametros de
los esperados, el valor undefined será sustituido en estos valores.










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Para seguir aprendiendo:

https://www.sharelatex.com/project/576414791272fa5867c12ff2
JavaScript: The Good Parts.
Douglas Crockford
NodeSchool:
https://nodeschool.io/
https://github.com/workshopper/javascripting










developerjoint@gmail.com
/jointDeveloper
/jointDev

jointdeveloper.com
Gracias



Javascripting
By Carolina Jimenez Gomez
Javascripting
Presentación Charla - Comunidad jointDeveloper
- 498