Estoy estudiando la autenticación de Google de Firebase en React. Y mientras sigo las instrucciones, me doy cuenta de que puede crear una instancia de una clase de base de fuego con y sin la palabra clave 'nueva'. Pensé que en OOP, tenemos que usar la palabra clave 'nuevo' para instanciar una clase y sin la palabra clave 'nuevo', es como llamar a una función en JS. ¿Puede alguien explicar por qué podemos instanciar una clase como llamar a una función js aquí? ¿Y cuáles son las diferencias entre esos dos?
import {initializeApp} from 'firebase/app'; import {getAuth, signInWithRedirect, signInWithPopup, GoogleAuthProvider} from 'firebase/auth' import {getFirestore, doc, getDoc, setDoc} from 'firebase/firestore' const firebaseConfig = { apiKey: "AIzaSyDwATEHxMW00am02mknls6oWdQLXmWPeuc", authDomain: "reactjs-ver1.firebaseapp.com", projectId: "reactjs-ver1", storageBucket: "reactjs-ver1.appspot.com", messagingSenderId: "631316016514", appId: "1:631316016514:web:776f3090371772df33339b" }; const firebaseApp = initializeApp(firebaseConfig); const provider = new GoogleAuthProvider(); provider.setCustomParameters({ prompt: "select_account" }) export const auth = getAuth(); multiple instances of provider export const signInWithGooglePopup = () => signInWithPopup(auth, provider); export const db = getFirestore()