Soy nuevo en JS y trato de hacer algunas animaciones usando la biblioteca three.js.
Intento entender las instrucciones: const scene = new THREE.Scene();
No entiendo por qué tenemos que poner el TRES (en TRES. Escena), ¿podríamos simplemente escribir const escena = nueva Escena (); ?
¿De dónde viene "TRES" en la propia biblioteca?
Aquí está mi archivo html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script src="./three.js"></script> <script src="./script.js"></script> </body> </html>Mi archivo JS contiene solo console.log (TRES) que me devuelve un objeto (en el registro de la consola).
¿Alguien podría explicarme mejor de dónde viene TRES?
Gracias por tu ayuda.
THREE es el espacio de nombres de la biblioteca. Es esencialmente un gran objeto que contiene todos los métodos y propiedades de la biblioteca. Para acceder a esos métodos/propiedades, debe pasar por el espacio de nombres, porque esas propiedades no se hacen globales; solo el objeto del espacio de nombres se hace global, nada más.
El código de la biblioteca probablemente hace algo parecido a:
(() => { const THREE = {}; // lots and lots of code that assigns to properties of THREE window.THREE = THREE; })();Este tipo de patrón es extremadamente común en las bibliotecas: asignan muchas cosas a un objeto grande y exponen ese objeto grande globalmente. Cualquier cosa que luego quiera usar la biblioteca tiene que pasar por el objeto grande, por lo general.