Proceso de 5 etapas de propuestas JS.
Las propuestas de JavaScript deben aprobarse.
Todas las propuestas de TC39 avanzan a través de un proceso de cinco etapas; por supuesto, dado que somos programadores, ¡se basa en 0! – Etapa 0 a Etapa 4. Etapa 0 significa que alguien en TC39 piensa que es una idea valiosa y planea defenderla y trabajar en ella. Mira el proceso de etapa aquí: https://tc39.es/documento-de-proceso/
Eso significa que muchas ideas que “proponen” los que no son miembros del TC39, a través de medios informales como las redes sociales o publicaciones en blogs, son realmente “previas a la etapa 0”. Tienes que conseguir que un miembro del TC39 defienda una propuesta para que se considere oficialmente “Etapa 0”.
Una vez que una propuesta alcanza el estado de “Etapa 4”, es elegible para ser incluida en la próxima revisión anual del lenguaje. Puede tomar desde varios meses hasta algunos años para que una propuesta avance a través de estas etapas. Repositorio GitHub de TC39: https://github.com/tc39/proposals
Cualquiera, esté o no en TC39, es bienvenido a participar en estas discusiones públicas y los procesos para trabajar en las propuestas. Sin embargo, solo los miembros del TC39 pueden asistir a las reuniones y votar sobre las propuestas y cambios.
Entonces, en efecto, la voz de un miembro de TC39 tiene mucho peso en el lugar al que se dirigirá JS. Contrariamente a algunos mitos establecidos y frustrantemente perpetuados, no existen múltiples versiones de JavaScript en la naturaleza. Solo hay un JS, el estándar oficial mantenido por TC39 y ECMA.
A principios de la década de 2000, cuando Microsoft mantuvo una versión bifurcada y de ingeniería inversa (y no totalmente compatible) de JS llamada “JScript”, había legítimamente “varias versiones” de JS. Pero esos días se han ido.
Está desactualizado e inexacto hacer tales afirmaciones sobre JS hoy. Todos los principales navegadores y fabricantes de dispositivos se han comprometido a mantener sus implementaciones de JS en conformidad con esta especificación central. Por supuesto, los motores implementan funciones en diferentes momentos.
Pero nunca debería darse el caso de que el motor v8 (motor JS de Chrome) implemente una función específica de manera diferente o incompatible en comparación con el motor Spider Monkey (motor JS de Mozilla). Eso significa que puede aprender un JS y confiar en ese mismo JS en todas partes.
Definición de lenguaje JavaScript
Podemos definir JavaScript de muchas maneras diferentes. Una buena definición es que es un lenguaje de programación multiparadigma orientado a objetos de alto nivel. Vamos a deconstruir esto un poco para al menos darle algún sentido. Y comenzando con el lenguaje de programación en sí mismo, un lenguaje de programación es básicamente una herramienta que nos permite escribir código que le indicará a una computadora que haga algo.
Entonces decimos que JavaScript es un lenguaje de alto nivel, lo que significa que no tenemos que pensar en muchas cosas complejas, como administrar la memoria de la computadora mientras se ejecuta o programa. En JavaScript, hay muchas de las llamadas abstracciones sobre todos estos pequeños detalles de los que no queremos preocuparnos. Y esto hace que el idioma sea mucho más fácil de escribir y aprender.
A continuación, decimos que JavaScript está orientado a objetos. Y todo lo que eso significa es que el lenguaje se basa principalmente en el concepto de objetos para almacenar la mayoría de los tipos de datos. Y, por supuesto, aprenderemos todo sobre la programación orientada a objetos a lo largo de este curso.
Finalmente, JavaScript también es un lenguaje multiparadigma, lo que significa que es tan flexible y versátil que podemos usar todo tipo de estilos de programación diferentes, como la programación imperativa y declarativa. Y estos diferentes estilos son simplemente formas diferentes de estructurar nuestro código, básicamente.
De todos modos, ahora que sabemos qué es realmente JavaScript y qué papel juega en el desarrollo web, o en otras palabras, ¿para qué lo usamos realmente? Para responder a esa pregunta, veamos tres tecnologías principales de la web: HTML, CSS y, por supuesto, JavaScript. Estas tres tecnologías trabajan juntas para crear sitios web o aplicaciones web hermosos, interactivos y dinámicos.
El HTML es el responsable del contenido de la página. El texto, las imágenes, los botones y todo el contenido que ves en la página web siempre está escrito en HTML. El CSS es responsable de la presentación de ese contenido. Básicamente, para diseñar y diseñar los elementos en una página web. Y JavaScript es el verdadero lenguaje de programación de Internet.
JavaScript permite a los desarrolladores agregar efectos dinámicos e interactivos a cualquier página web. También lo usamos para manipular el HTML o el CSS, cargar datos desde servidores remotos y realmente crear aplicaciones completas en el navegador, que luego llamamos aplicaciones web. Ahora, también podemos usar la analogía de sustantivos, adjetivos y verbos para hacer que esta separación de roles sea un poco más fácil de entender.
Entonces, en esta analogía, HTML representa los sustantivos. Por ejemplo, decir que el elemento es un párrafo. Y así, el párrafo es el sustantivo aquí. El estilo CSS ‘color: rojo’ es el adjetivo, porque describe el sustantivo, como decir que el texto del párrafo es rojo. Y finalmente, JavaScript es el verbo, como decir ocultar el párrafo, por lo que nos permite actuar y agregar efectos dinámicos a las páginas.