objekt - Hvordan sjekke nullverdi i Typescript ved å bruke klammeparentesnotasjon


Jeg vil sjekke om en matrise inne i et objekt eksisterer, ikke er null og ikke er tom

Jeg trenger å referere til den eiendommen med hakeparentesnotasjon.

Mitt objekt

profile = {
    myArray: [1,2,3]
}

Og jeg sjekker det på denne måten

const section = "myArray";
if(section in profile && profile[section] && profile[section].length ) { // do something}

Jeg forventer at dette skal fungere, men jeg får en feil i denne delen profile[section].length som sier objektet er muligens null eller udefinert

Hvis jeg gjør det ved å bruke punktnotasjon, fungerer det, ikke sant

if('myArray' in profile && profile.myArray && profile.myArray.length ) { // do something}

Svar #1

bruk valgfri kjeding slik

if (profile?.[section]?.length) { // do something }

se https://stackoverflow.com/a/58780897

Relaterte artikler