Tengo un proyecto de TypeScript en el que estoy reasignando variables según el valor que contiene el objeto.
Lo que estoy tratando de hacer es definir una variable a partir de una propiedad del objeto, en cambio, si esta propiedad no existe, se establece un valor predeterminado.
Este es mi Objeto:
interface InsParams { host?: string, country?: string, pageLimit?: number, pageOffset?: number, pageToken?: string } let dataObj: InsParams;Esta es la variable que estoy creando:
let limit: number = dataObj.pageLimit ? dataObj.pageLimit : 1000Este es el error que muestra:
Error: Cannot read properties of undefinedMi problema: necesito si la propiedad no existe para asignar otro valor a la variable límite, pero muestra un error.
Su problema proviene de que dataObj es potencialmente indefinido. En este caso, puede usar encadenamiento opcional + operador coalescente nulo :
let limit = dataObj?.pageLimit ?? 1000;Aquí está la solución:
let limit: number = dataObj?.pageLimit ? dataObj?.pageLimit : 1000;