¿Que es Javascript? y Donde aprenderlo



Javascript es un lenguaje de programación interpetado, dialecto del stantar ECMAScript. Se define como orientado a objetos , basado en prototipos, imperativo, débilmente tipado y dinámico.

Se utilizo principalmente del lado del cliente , implementado como parte del navegador web permitiendo mejoras de la interfas de usuario y páginas web dinamicas y javascript del lado del servidor.

Desde el 2021 todos los navegadores modernos soportan completamente ECMAScript 5.1 una version de Javascript. Los navegadores más antiguos soportan por lo menos ECMAScript3

JavaScript se diseñó con una sintaxis similar a C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo, Java y JavaScript tienen semánticas y propósitos diferentes.
Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del Document Object Model (DOM).


Variables en JavaScript 
Las variables son valores suplentes que puede utilizar para realizar operaciones. Deberías estar familiarizado con ellos desde la clase de matemáticas.

var, const, let 

Tiene tres posibilidades diferentes para declarar una variable en JavaScript, cada una con sus propias especialidades: 
var: la variable más común. Se puede reasignar, pero solo se puede acceder a él dentro de una función. Las variables definidas con var se mueven hacia la parte superior cuando se ejecuta el código. 
const: no se pueden reasignar y no se puede acceder a ellos antes de que aparezcan en el código.
let: similar a const, la variable let se puede reasignar pero no volver a declarar

Tipos de datos 

Las variables pueden contener diferentes tipos de valores y tipos de datos. Usas = para asignarlos: 

Números - var age = 23 
Variables - var x 
Texto (cadenas) - var a = "init" 
Operaciones - var b = 1 + 2 + 3 
Declaraciones verdaderas o falsas - var c = true 
Números constantes - constante PI = 3,14 
Objetos: var name = {nombre: "manuel", apellido: "gomes"} 

Hay más posibilidades. Tenga en cuenta que las variables distinguen entre mayúsculas y minúsculas. Eso significa que nombre y apellido se manejarán como dos variables diferentes.

Objetos 

Los objetos son ciertos tipos de variables. Son variables que pueden tener sus propios valores y métodos. Las últimas son acciones que puede realizar sobre objetos.

var persona = {
    nombre:"manuel",
    apellido:"gomes",
    edad:20,
    nacionalidad:"German"
};

El siguiente nivel: matrices 

Lo siguiente en nuestra hoja de trucos de JavaScript son las matrices. Las matrices son parte de muchos lenguajes de programación diferentes. Son una forma de organizar variables y propiedades en grupos. A continuación, se explica cómo crear uno en JavaScript:

var fruta = ["Platano", "Manzana", "Pera"];
Ahora tiene una matriz llamada fruta que contiene tres elementos que puede usar para operaciones futuras.


Métodos de matriz 

Una vez que haya creado matrices, hay algunas cosas que puede hacer con ellas: concat (): une varias matrices en una 
indexOf (): devuelve la primera posición en la que un elemento determinado aparece en una matriz 
join (): combina elementos de una matriz en una sola cadena y devuelve la cadena lastIndexOf (): proporciona la última posición en la que un elemento determinado aparece en una matriz 
pop (): elimina el último elemento de una matriz 
push (): agrega un nuevo elemento al final 
reverse (): ordena los elementos en orden descendente 
shift () - Elimina el primer elemento de una matriz 
slice (): extrae una copia de una parte de una matriz en una nueva matriz 
sort (): ordena los elementos alfabéticamente 
splice (): agrega elementos de una manera y posición específicas 
toString (): convierte elementos en cadenas 
unshift (): agrega un nuevo elemento al principio 
valueOf (): devuelve el valor primitivo del objeto especificado


Operadores 

Si tiene variables, puede usarlas para realizar diferentes tipos de operaciones. Para hacerlo, necesita operadores. 

Operadores básicos 
(+) - Suma
(-) - Resta 
(*) - Multiplicación 
(/) - División
(...) - Operador de agrupación, las operaciones entre corchetes se ejecutan antes que las que están fuera 
(%) - Módulo resto de divicion
(++) - Incrementar números
( - - ) - Disminuir número 

Operadores de comparación

(==) - Igual a 
(===) - Igual valor y igual tipo 
(! =) - No es igual 
(! ==) - No igual valor o no igual tipo 
(>) - Mayor que 
(<) - Menor que 
(> =) - Mayor o igual a 
(<=) - Menor o igual a 
(?) - Operador ternario 

Operadores logicos 

(&&) - Operador And o (Y)
(||) - Operador OR (o) 
(!) - Operador Not

Operadores bit a bit 

(&) - declaración AND 
(|) - declaración OR 
(~) - declaración NO 
(^) - declaración XOR 
(<<)  - Desplazamiento a la izquierda
(>>) - Desplazamiento a la derecha 
(>>>) - Desplazamiento a la derecha de llenado cero

Funciones 

Las funciones de JavaScript son bloques de código que realizan una determinada tarea. Una función básica se ve así:

function nombre(parametro1, parametro2, parametro3) {
    // Aqui la función
}
Como puede ver, consta de la palabra clave de función más un nombre. Los parámetros de la función están entre corchetes y tiene corchetes alrededor de lo que realiza la función. Puede crear el suyo propio, pero para facilitarle la vida, también hay una serie de funciones predeterminadas.

Salida de datos 

Una aplicación común para funciones es la salida de datos. Para la salida, tiene las siguientes opciones: 
alert (): datos de salida en un cuadro de alerta en la ventana del navegador 
confirm (): abre un cuadro de diálogo sí / no y devuelve verdadero / falso según el clic del usuario 
console.log (): escribe información en la consola del navegador, buena para fines de depuración 
document.write (): escribe directamente en el documento HTML
prompt (): crea un diálogo para la entrada del usuario 

Funciones globales 

Las funciones globales son funciones integradas en todos los navegadores capaces de ejecutar JavaScript. 
decodeURI (): decodifica un identificador uniforme de recursos (URI) creado por encodeURI o similar 
decodeURIComponent () - Decodifica un componente URI 
encodeURI (): codifica un URI en UTF-8 
encodeURIComponent () - Igual pero para componentes URI 
eval (): evalúa el código JavaScript representado como una cadena 
isFinite (): determina si un valor pasado es un número finito 
isNaN (): determina si un valor es NaN o no 
Number (): devuelve un número convertido a partir de su argumento. 
parseFloat (): analiza un argumento y devuelve un número de punto flotante parseInt (): analiza su argumento y devuelve un número entero



Bucles de JavaScript 

Los bucles son parte de la mayoría de los lenguajes de programación. Le permiten ejecutar bloques de código el número de veces deseado con diferentes valores:

for (antes del loop; cindicion del loop; ejecucion del loop) {
    // Hacer durante la ejecucion
}
Tienes varios parámetros para crear bucles: 
for: la forma más común de crear un bucle en JavaScript 
while: configura las condiciones en las que se ejecuta un bucle 
do while: similar al ciclo while, pero se ejecuta al menos una vez y realiza una verificación al final para ver si se cumple la condición para ejecutar nuevamente break: se utiliza para detener y salir del ciclo en determinadas condiciones continue: omita partes del ciclo si se cumplen ciertas condiciones 

If - Otras declaraciones 

Este tipo de declaraciones son fáciles de entender. Utilizándolos, puede establecer condiciones para cuando se ejecute su código. Si se aplican ciertas condiciones, se hace algo, si no, se ejecuta otra cosa.

if (condición) {
    // Que hacer si se cimple la condición
} else {
    // Que no hacer si no se cumple la condición

Un concepto similar a if else es la declaración de cambio. Sin embargo, al usar el conmutador, selecciona uno de varios bloques de código para ejecutar


Cadenas de Carateres 

Las cadenas son lo que JavaScript llama a texto que no realiza una función pero que puede aparecer en la pantalla.
var Persona = "Andres Manuel";
  En este caso, John Doe es la cadena.

Escape Characters
 En JavaScript, las cadenas se marcan con comillas simples o dobles. Si desea utilizar comillas en una cadena, debe utilizar caracteres especiales: 

(\') - Comilla Simple
(\ ") - Comillas dobles

 Aparte de eso, también tiene caracteres de escape adicionales: 

(\\) - Barra invertida 
(\b) - Retroceso 
(\f) - Formulario de alimentación 
(\n) - Nueva línea 
(\r) - Retorno de carro 
(\t) - Tabulador horizontal 
(\v) - Tabulador vertical

Métodos de cadena 

Hay muchas formas diferentes de trabajar con cadenas: 
charAt (): devuelve un carácter en una posición especificada dentro de una cadena charCodeAt (): te da el Unicode de un personaje en esa posición 
concat () - Concatena (une) dos o más cadenas en una 
fromCharCode (): devuelve una cadena creada a partir de la secuencia especificada de unidades de código UTF-16 
indexOf (): proporciona la posición de la primera aparición de un texto especificado dentro de una cadena 
lastIndexOf () - Igual que indexOf () pero con la última aparición, buscando hacia atrás 
match (): recupera las coincidencias de una cadena con un patrón de búsqueda replace (): busca y reemplaza el texto especificado en una cadena 
search (): ejecuta una búsqueda de un texto coincidente y devuelve su posición slice (): extrae una sección de una cadena y la devuelve como una nueva cadena split (): divide un objeto de cadena en una matriz de cadenas en una posición específica 
substr () - Similar a slice () pero extrae una subcadena dependiendo de un número específico de caracteres 
substring (): también similar a slice () pero no puede aceptar índices negativos toLowerCase () - Convertir cadenas a minúsculas 
toUpperCase () - Convertir cadenas a mayúsculas 
valueOf (): devuelve el valor primitivo (que no tiene propiedades ni métodos) de un objeto de cadena


Sintaxis de expresiones regulares 

Las expresiones regulares son patrones de búsqueda que se utilizan para hacer coincidir combinaciones de caracteres en cadenas. El patrón de búsqueda se puede utilizar para la búsqueda de texto y el texto para reemplazar operaciones. 

Modificadores de patrones 

(e) - Evaluar reemplazo 
(i) - Realizar una coincidencia que no distinga entre mayúsculas y minúsculas 
(g) - Realizar una coincidencia global 
(m) - Realizar coincidencia de múltiples líneas 
(s) - Trate las cadenas como una sola línea 
(x) - Permitir comentarios y espacios en blanco en el patrón 
(U) - Patrón sin codicia 

Soportes 

[abc]: busca cualquiera de los caracteres entre corchetes 
[^ abc]: busca cualquier carácter que no esté entre corchetes 
[0-9]: se utiliza para encontrar cualquier dígito del 0 al 9 
[A-z]: busca cualquier carácter de la A mayúscula a la z minúscula 
(a | b | c) - Encuentre cualquiera de las alternativas separadas por | 

Metacaracteres 

(.) - Encuentra un solo carácter, excepto nueva línea o terminador de línea 
(\w) - Carácter de palabra 
(\W) - carácter que no es una palabra 
(\d) - Un dígito 
(\D) - un carácter que no es un dígito 
(\s) - Carácter de espacio en blanco 
(\S) - carácter sin espacios en blanco 
(\b) - Encuentra una coincidencia al principio / final de una palabra 
(\B) - una coincidencia no al principio / al final de una palabra 
(\0) - Carácter NUL 
(\n) - Un carácter de nueva línea 
(\f) - Carácter de alimentación de formulario 
(\r) - Carácter de retorno de carro 
(\t) - Carácter de tabulación 
(\v) - Carácter de tabulación vertical 
(\xxx) - el carácter especificado por un número octal xxx 
(\xdd) - Carácter especificado por un número hexadecimal dd 
(\uxxxx) - el carácter Unicode especificado por un número hexadecimal XXXX


¿Donde Aprenderlo?

Hoy endia hay varios recursos en interner para aprender, esto soy algunos recursos.

codecademyEn esta página aprenderás JavaScript desde 0 hasta avanzado y no solo JavaScript sino otras tecnologias  

developer.mozilla.orgAprender JavaScript desde cero en la documentación de Mozilla si ningún coste  

Udemy: Esta es una plataforma de cursos de cualquier tipo de programación en cualquier lenguaje, diseño web, desarrollo móvil. Etc. Puedes encontrar cursos con un precio mínimo de 19.99 dólares  























Comentarios