He creado una clase de javascript para que pueda reutilizarse en el proyecto.
Sin embargo, no todos los atributos se establecen en la clase en un momento dado.
Por ejemplo, esta es la interfaz de la clase de address .
interface Address { use: Code, type: Code, text: string, city: string, district: string, state: string, postalCode: string, country: string, period: Period, value?: string | null, } class Address { constructor() { } } Si ve la interfaz, verá que el use tiene un tipo de Code que es otro tipo de una clase que tiene un método llamado get() que devolverá un valor o un Objeto
La clase Address tiene una propiedad getObject que creará un object que luego se puede strigified usando JSON.strigify()
Así es como voy a establecer los valores de un objeto creado por esta clase,
const address = new Address() address.city = "Brisbane" address.country = "AUS" address.line.push("400, gStreet") address.postalCode = "4000" address.state = "QLD" address.use = new Code("work") Sin embargo, cuando llamo a address.getObject() esto generará un error porque el use no está definido como undefined y, por lo tanto, no puedo llamar al método get() .
¿Cómo puedo solucionar este problema?
¿Tengo que usar algo como lodash para eliminar elementos no definidos dentro de un objeto antes de llamar a getObject() ?
Gracias de antemano.
Puedo comentar debido a StackOverflow:
// así que este es un comentario, el sistema de tipos de mecanografiado es estructural, lo que significa que puede usar objetos cuando sea necesario y objetos (instancia de clase) cuando sea necesario, por ejemplo, si desea que mecanografiado lo ayude con los tipos y validaciones, use (clases, tipos y interfaces) de lo contrario, puede usar un objeto javascript simple como dijo @Aluan Haddad
Puede leer más aquí (no el mío) sistema de tipo mecanografiado
Buena suerte