JavaScript
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.
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
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
Creamos una carpeta para trabajar todos los ejercicios:
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
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
console.log("texto")
alert("texto")
document.write("texto")
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
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.
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
Para conocer la longitud de un string se utiliza el método length
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
// "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';
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.
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
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
(3).toString(); // "3"
(3).toString(10); // "3"
(3).toString(2); // "11"
(15).toString(16); // "f"
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
var x = Math.PI;
x.toString(); // "3.141592653589793"
x.toFixed(); // "3"
x.toFixed(5); // "3.14159"
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
Existen diferentes valores que se denominan falsos en JS, es decir, aquellos que en un condicional retornarán falso.
developerjoint@gmail.com
/jointDeveloper
/jointDev
jointdeveloper.com
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
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
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
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
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
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
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
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
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
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
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