Dividir y Conquistar? - Explorando la Propuesta 'JS0' y 'JSSugar' para la Evolución de JavaScript

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2026
November 16 - 19, 2026
New York, US & Online
Upcoming event
JSNation US 2026
JSNation US 2026
November 16 - 19, 2026. New York, US & Online
Bookmark
Rate this content

En octubre de 2024, se presentó una propuesta de evolución del lenguaje en la reunión del Comité de Javascript TC39. En ella, se muestra una nueva visión para JS en su totalidad, una en la que el lenguaje aparentemente se divide en dos: un núcleo ""JS0"" y un extendido ""JSSugar"". ¿De qué se trata esto, por qué surgió en este momento y qué significa para nosotros como desarrolladores de JavaScript?

En esta breve charla, revisaremos la propuesta, explorando lo que intenta lograr, cómo y sus posibles pros y contras desde una perspectiva neutral y centrada en la comunidad.

This talk has been presented at JSNation 2025, check out the latest edition of this JavaScript Conference.

Daniel Hervás
Daniel Hervás
5 min
16 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Propuesta de JS 0 y JS Sugar para la evolución de JavaScript. Abstracción de complejidad a motores. División del lenguaje en JS0 y JSugar. Lecciones aprendidas de las preocupaciones de los desarrolladores y las preferencias de los usuarios. Participación en la formación del ecosistema de JavaScript.

1. JavaScript Evolution: Complexity and Evolution

Short description:

JS 0 y JS Sugar propuesta para la evolución de JavaScript. Abstracción de complejidad a motores. Dividiendo el lenguaje en JS0 y JSugar. Lecciones aprendidas de las preocupaciones de los desarrolladores y las preferencias de los usuarios. Participación en la formación del ecosistema de JavaScript.

Hola a todos. Soy Daniel. Y hoy vamos a hablar sobre la propuesta de JS 0 y JS Sugar para la evolución de JavaScript. Esta es una charla muy corta de cinco minutos, así que iré directo al grano. ¿Sobre qué propuesta estoy hablando? Bueno, puedes consultar el documento en este código QR. Esto fue algo que se presentó en la reunión de TC39 el 24 de octubre.

Y lo que vamos a hacer en esta charla es revisar y resumir los tres principales puntos que se están haciendo, y luego veremos qué podemos sacar de ello, qué podemos aprender de esto, y cómo también podemos contribuir a esta futura evolución. Así que, comenzando con el primero de los puntos, la complejidad. Entonces, lo primero que se argumenta es que abstraer la complejidad es como moverla del lenguaje que usamos a los motores que implementan estas características azucaradas. Así que, es una complejidad que se empuja hacia abajo a los desarrolladores de motores cada vez que solicitamos algún tipo de azúcar de sintaxis.

El segundo punto es ligeramente controvertido, es que hay un poco de tensión entre cuáles son los beneficios para los usuarios de todas estas mejoras y lo que los desarrolladores solicitan. Así que, argumentan que incluir nuevas características y cosas nuevas en el lenguaje no siempre reporta un beneficio para el usuario final ya que hay preocupaciones de seguridad, rendimiento y estabilidad, mientras que algunas de las características no necesariamente siempre son utilizadas por los desarrolladores. Finalmente, un punto que se menciona es que las herramientas son muy ubicuas en el ecosistema de JavaScript de hoy. Todos estamos usando algún tipo de marco, Babel es muy común para transpilar, y TypeScript en sí mismo es solo algo que se compila a JavaScript. Así que, en un esfuerzo por duplicar este tipo de esfuerzos y como una forma de juntar todo esto, ¿qué tenían en mente?

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

El Estado de la Web
JSNation 2025JSNation 2025
32 min
El Estado de la Web
Sasha Grief discusses the state of the web through web development surveys, leading to an interactive quiz about the state of JS and usage of front end frameworks. Discussion on popular front-end libraries like React, Vue, Angular, and the rising popularity of TypeScript among developers in recent surveys. Discussion on TypeScript adoption, TC39 committee proposals, favorite CSS feature 'has,' and browser support for 'has' selector. Browser interoperability, browser vendors' initiatives, AI usage among web developers, and survey insights. Job titles linked to higher income, diversity of survey topics, top hobby among developers, and popular specific video games. Learnings on CSS features, TypeScript default, AI usage, survey benefits, challenges in reaching diverse survey participants. Surprising positivity in JavaScript usage, stable framework landscape, AI adoption challenges, mainstream AI tools, successful situp.js survey. Inconsistent respondent numbers, manual data normalization efforts, subjective question selection process, community input, mitigation of selection bias. Reason for starting surveys, transition from Meteor JS, exploration of JavaScript ecosystem.
Remix: Abrazando los estándares web para redefinir el desarrollo web moderno
React Advanced 2023React Advanced 2023
26 min
Remix: Abrazando los estándares web para redefinir el desarrollo web moderno
Top Content
Remix is a web development framework that combines the scalability of server-rendered frameworks with the flexibility of React. It prioritizes web standards and best practices for security. Remix streamlines development with web standards like URLs, fetch API, HTML, and HTTP caching. It simplifies data handling through HTML forms and HTTP, improving user experience. Httpication in Remix reduces server load and speeds up response time, while global search and Storyblock make building complex websites easier.
¿Qué es "TC39: Type Annotations" también conocido como la propuesta de Tipos como Comentarios
TypeScript Congress 2023TypeScript Congress 2023
27 min
¿Qué es "TC39: Type Annotations" también conocido como la propuesta de Tipos como Comentarios
Top Content
The TC59 Type Annotations proposal, also known as Types with Comments, introduces the ability to run typed code in JavaScript. It aims to bring TypeScript back into JavaScript and create a separation between type system and runtime. TypeScript's popularity is on par with JavaScript, raising concerns about the influence of Microsoft. The proposal progresses by addressing runtime interaction and token soup in type specifications. Research, community involvement, and quantifying the effects of supporting this comment style are important goals.
Temporal: El Curioso Incidente de la Noche Equivocada
JSNation 2025JSNation 2025
25 min
Temporal: El Curioso Incidente de la Noche Equivocada
Speaker's involvement in Temporal proposal and TC39 meetings for JavaScript standardization. Date conversion challenges faced in development. Addressing time zone discrepancies with Temporal to prevent bugs. Exploration of Temporal types and design philosophy. Usage of Java's time zone serialization in JavaScript Temporal. Challenges in implementing Temporal proposal and its transformative potential in ECMAScript.
Notificaciones Push Web Bien Hechas
JSNation 2023JSNation 2023
11 min
Notificaciones Push Web Bien Hechas
Let's talk about web push notifications and their benefits. Web push notifications have higher opt-in and click rates compared to traditional methods. The web push API should be used responsibly, with subscription requests initiated only after explicit user action. Improve engagement by using emojis in notifications. Connect with the speaker on LinkedIn for more information about the web push API.
Temporal: Fechas y Tiempos Modernos en JavaScript
JSNation US 2024JSNation US 2024
22 min
Temporal: Fechas y Tiempos Modernos en JavaScript
I'll speak today about the Temporal proposal, which adds modern date and time handling to JavaScript. Temporal is an API that'll be available in browsers soon and will add a built-in library for dates and times, avoiding the need for external libraries like Moment. It offers strong typing with different types for different data, such as calendar dates with or without time. Temporal objects are immutable and designed to work with JavaScript's internationalization facilities. It addresses deficiencies in the global Date object and introduces types like instant and plain types for accurate representation of time and dates across time zones. With the old Date, representing a date without a time can be problematic, especially in time zones where midnight is skipped due to daylight saving time. Temporal introduces types like PlainDate, PlainTime, PlainYearMonth, PlainMonthDay, and ZonedDateTime to accurately represent different scenarios. Additionally, there is a type called Duration for arithmetic operations and unit conversion. Now that I've introduced you to the cast of characters in Temporal, it's time to show how to accomplish a programming task. We'll start with an easy task: getting the current time as a timestamp in milliseconds using the instant type. To convert between Temporal types, you can either drop or add information. The toZonedDateTime method is used for conversion and requires adding a time zone and a time. Although Temporal objects are immutable, you can create new objects with replaced components using the with method. Migrating from the old Date object to Temporal offers a more reliable solution and avoids potential bugs. Check out the documentation for more details and enjoy using Temporal in your codebase!