Y at-il un opérateur comme? dans TypeScript qui peut vérifier si la variable est nulle ou non définie comme Kotlin? Comme
person?.getName()?.firstName ?: "None"
Non, pour l'instant, la navigation sécurisée n'est toujours pas implémentée dans TypeScript: https://github.com/Microsoft/TypeScript/issues/16
Cependant, selon les dernières notes de la réunion de normalisation, il a été proposé, alors peut-être que la v3 :)
J'ai rencontré la même situation et les suivants ont fonctionné pour moi.
Tout d'abord, j'ai défini une classe séparée avec une propriété pouvant être null
:
export class Foo {
id: number; //this can be null
}
Ensuite, dans ma classe principale, j'ai défini une propriété foo
sur ce nouveau type:
foo: Foo
Après cela, j'ai pu l'utiliser comme ceci:
var fooId = (this.foo || ({} as Foo)).id;
C'est le cas le plus proche que je puisse avoir pour avoir une propagation nulle dans une version actuelle de TypeScript.
En fait, cela est lié à javascript null safety discussion qui est mentionné dans cette réponse . Je suppose qu'ils veulent que cela soit supporté sur javascript avant de passer à TypeScript.
Je l'ai utilisé dans mon code pour vérifier null
this.firstname = (this.firstname != null) ? this.firstname : this.firstname;
Cela pourrait faire jusqu'à ce que v3 soit sorti