Uso de Global Disk y Match All en JavaScript

Clase 29 de 35Curso de ECMAScript: Historia y Versiones de JavaScript

Resumen

⚠️ En el código de la clase se escribe selft para acceder al ámbito global de un webworker, y debería ser self.

Las siguientes características de ES2020 que aprenderás son: el objeto global para cualquier plataforma y el método matchAll para expresiones regulares.

Objeto global para cualquier plataforma

El motor de JavaScript, aquel que compila tu archivo y lo convierte en código que entiende el computador, al iniciar la compilación crea un objeto global.

El objeto global proporciona funciones y variables propias e integradas en el lenguaje o el entorno. Dependiendo la plataforma, este objeto global tendrá un nombre diferente.

En el navegador el objeto global es window, para Node.js es global, y así para cada entorno. Sin embargo, en Node.js no podrás acceder a window, ni en el navegador podrás acceder a global.

Para estandarizar el objeto global se creó globalThis, un objeto compatible para cualquier plataforma.

// Ejecuta el siguiente código y observa que muestra console.log(window) console.log(globalThis) // En el navegador window === globalThis // true // En Node.js global === globalThis // true

Método matchAll para expresiones regulares

El método matchAll de los strings devuelve un iterable con todas las coincidencias del string específico a partir de una expresión regular, colocada como argumento.

string.matchAll(regex)

En el iterable, existe una propiedad denominada index con el índice del string donde la búsqueda coincide.

const regex = /\b(Apple)+\b/g const fruit = "Apple, Banana, Kiwi, Apple, Orange, etc. etc. etc." // Tranformación del iterable retornado a array const array = [...fruit.matchAll(regex)] console.log(array) /* [ [ 'Apple', 'Apple', index: 0, input: 'Apple, Banana, Kiwi, Apple, Orange, etc. etc. etc.', groups: undefined ], [ 'Apple', 'Apple', index: 21, input: 'Apple, Banana, Kiwi, Apple, Orange, etc. etc. etc.', groups: undefined ] ] */

Contribución creada por Andrés Guano (Platzi Contributor).