2. El Lenguaje javascript (básico)

Este es un tema de iniciación al lenguaje Javascript. Se busca tener los conocimientos del lenguaje para poder realizar los ejercicios básicos de Ejercicios Genéricos de Programación.

Me baso en el excelente tutorial de W3Schools para hacer referencia a cada uno de los elementos del lenguaje. Es simplemente un esquema ordenado del tutorial. Puedes consultar también el excelente curso de Arkaitz Garro

Requisitos Previos

Necesitas unos conocimientos básicos previos de aprender a programar. Si no los tienes, tampoco pasaría nada pero necesitarás más tiempo para adquirir los conocimientos de cada sesión de clase y necesitas mayor supervisión.

Está organizado en 8 talleres de unas 3 sesiones de clase. En total unas 24 sesiones de clase más tu trabajo en casa.

La dedicación depende del conocimiento previo, motivación y capacidad de aprendizaje del estudiante para esa sesión en concreto.

2.1. El lenguaje Javascript

  1. Visión General

    1. Historia

    2. Características

    3. Uso cada vez más amplio (cliente y servidor)

  2. Ver ejemplos de código

  3. Una documentación muy completa sería la de MDN Web Docs o la de W3Schools

  4. Mi primer programa -> js_intro:

    1. Instalarlo. Ya está en el navegador incluido (hay diferentes motores JS)

    2. Usas la consola o …

    3. … incluyes código en el HTML -> js_whereto

    4. Que escriba algo (hay diferente alternativas) -> js_output

    5. Comentar el código -> js_comments

  5. Instrucciones ( js_statements) y sintaxis ( js_syntax)

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.2. Variables, Datos y Operadores

  1. Variables en JS -> js_variables

  2. Constantes -> js_const

  3. Predefinir variables (let) -> js_let

  4. Operadores (js_operators):

    1. Aritméticos -> js_arithmetic

    2. Asignación -> js_assignment

    3. Precedencia -> js_precedence (mejor usa paréntesis)

  5. Ámbito de las variables -> js_scope ( Variable Scope )

    1. Block Scope

    2. Function Scope

    3. Global Scope

  6. Tipos de datos (js_datatypes):

    1. Lenguaje débilmente tipado y muy dinámico (puedo cambiar el valor)

    2. Primitivos:

      1. Boolean typeof false -> js_booleans

      2. Number (typeof 3.14) -> js_numbers

      3. String (typeof «John») -> js_strings

      4. (y Symbol / BigInt)

    3. null vs undefined (no son lo mismo)

    4. Objetos. Todo es un objeto en JS -> js_objects

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.3. Estructuras de Control y Repetición

  1. De Control:

    1. -> js_if_else

    2. -> js_switch

  2. De Repetición:

    1. -> js_loop_for

    2. Usando operadores:

      1. in -> js_loop_forin

      2. of -> js_loop_forof

    3. -> js_loop_while

  3. Para modificar el flujo (pensar bien antes de usar): js_break

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.4. Programación Modular (Funciones)

  1. Para unos parámetros (o argumentos) de entrada la función devuelve una salida -> js_functions

  2. Los parámetros se convierten en variables locales (paso por valor).

  3. Una variable puede apuntar a una función, es decir, una función es un objeto

  4. Son algo fundamental en el uso de JS ( Funciones en JS ) y la base de la programación funcional en JS

  5. Distinguir entre librerías (típicamente agrupación de funciones) y APIs (más basadas en objetos y vinculadas a un recurso)

    1. Tus librerías (en Javascript)

    2. Librerías de terceros (añaden funcionalidad)

    3. APIs del Navegador (las ofrece el navegador)

    4. APIs de terceros (servicios externos)

    5. Frameworks JS. Paquetes HTML/CSS/JS para construir aplicaciones

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.5. Cadenas de Caracteres (Strings)

  1. String = secuencia de caracteres -> js_strings

  2. Aunque puedes usar una especie de plantillas -> js_string_templates

  3. Con un montón de funciones (bueno métodos del objeto String) para gestionarlas -> js_string_methods

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.6. Arrays

  1. Son una estructura de datos muy utilizada (Objeto Array) js_arrays

  2. Suelen declararse como constantes

  3. Y hay un montón de funciones para gestionarlos -> js_array_methods

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.7. Ejemplos de Funciones

  1. Para gestionar cadenas de caracteres -> js_string_methods

  2. Con Números:

    1. con el objeto directamente (js_number_methods)

    2. o con Funciones matemáticas -> js_math

  3. Puedes usar tu librería propia e incluirla en tu programa

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)

2.8. Uso de regexp

  1. Regexp ( Expresiones regulares ) son una secuencia de caracteres que define un patrón de búsqueda -> js_regexp

  2. Muy útil tanto para buscar como para reemplazar texto (que es el tipo de datos más común en la web)

  3. En JS puedes probar a aprender, diseñar y probar en regexr

Actividad T02. Ejercicios de Programación Básicos con JS

Puedes usar el editor online de W3Schools, repl o tu propio entorno. La estrategia para practicar sería:

  1. Pruebas con lo propone el tutorial

  2. Puedes probar con un reto distinto (Revisa Ejercicios Genéricos de Programación)