¿Tamaño máximo de Javascript para los tipos?

Al investigar los tipos de JavaScript, intento averiguar cuál es el tamaño máximo de almacenamiento para algunos tipos de datos. Por ejemplo, configuré un algoritmo recursivo rápido para aumentar el tamaño de la variable hasta que el navegador falla, lo que termina en algún lugar cercano a 128mb (o tal vez 256) para cadenas en mi versión existente de Chrome.

Lo he estado haciendo de manera dolorosa porque no pude encontrar ninguna especificación sobre esto, pero los bloqueos constantes del navegador hacen que sea una prueba dolorosa (intentar atrapar parece inútil por alguna razón con este problema en particular).

Estoy buscando información sobre el tamaño máximo de almacenamiento para los otros tipos también (matriz, objeto, funciones, cadenas, números, bools ...)

La sección 8.4 de EMCA-262 es vaga al respecto

La longitud de una cadena es el número de elementos (es decir, valores de 16 bits) dentro de ella. La cadena vacía tiene una longitud cero y, por lo tanto, no contiene elementos.

... ¿entonces quizás esto es algo que debe identificarse como implementado en los navegadores?

Sin embargo, ECMA nos dice acerca de los números, por ejemplo,

El tipo de número tiene exactamente 18437736874454810627 (es decir, 2 ^ 64−2 ^ 53 + 3) valores, que representan los valores IEEE 754 de formato de doble precisión de 64 bits como se especifica en el estándar IEEE para aritmética de punto flotante binario, excepto que el 9007199254740990 (es decir, 2 ^ 53−2) valores distintos de "No es un número" del Estándar IEEE se representan en ECMAScript como un único valor especial de NaN.

Pero entonces no veo nada sobre objetos.

¿Qué puedo esperar para usar en los navegadores? ¿Existe alguna base de código que ayude a administrar objetos y cadenas muy grandes?

¿Cuánta memoria puedo asignar en un solo script?

Respuestas a la pregunta(3)

Su respuesta a la pregunta