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

  • 428