util.isNullOrUndefined (object) a été déprécié et je ne trouve pas d'alternative. Quelqu'un peut-il indiquer une alternative possible?
if (isNullOrUndefined(this.activeAppKey) || this.activeAppKey.trim().length === 0) { this.activeAppKey = sessionStorage.getItem(AppConstants.APP_KEY); }
5 Réponses :
essayez d'utiliser l'opérateur !
.
if (!this.activeAppKey) { this.activeAppKey = sessionStorage.getItem(AppConstants.APP_KEY); }
L'utilisation de l'opérateur !
peut causer des problèmes, lorsque la variable est le numéro 0, une chaîne vide, etc. Voir cette réponse: stackoverflow.com/questions/28975896/...
il produit des erreurs pour des codes comme `if (! isNullOrUndefined (user.customRoles [this.activeAppKey])) {ui.role = user.customRoles [this.activeAppKey] .roleKey; } `
Avez-vous vérifié que l'utilisateur lui-même est nul?
Peut-être une bonne idée d'expliquer vérité Javascript .
essayez ceci:
if (this.activeAppKey === null || this.activeAppKey === undefined || this.activeAppKey.trim().length === 0) { this.activeAppKey = sessionStorage.getItem(AppConstants.APP_KEY); }
J'opterais pour cette approche. Créez une classe util et ajoutez-la en tant que méthode statique.
export class Util { static isNullOrUndefined<T>(obj: T | null | undefined): obj is null | undefined { return typeof obj === 'undefined' || obj === null; } }
Vous pouvez utiliser la fonction isNullOrUndefined
depuis core- package util-is npm.
Il était obsolète à partir du noyau nodejs car les changements de comportement ou d'API sur ces fonctions pouvaient briser beaucoup de code existant sans en avertir les utilisateurs. Dans un package npm, en utilisant semver, seul un bump de version majeur peut interrompre api / behavior. Beaucoup plus sûr de cette façon.
Pourquoi ne pas simplement créer votre propre:
import { isNullOrUndefined } from 'tools';
Disons que vous créez un fichier tools.ts et écrivez le code ci-dessus:
Vous pouvez l'utiliser dans votre composant comme suit:
export function isNullOrUndefined(value: any) { return value === null || value === undefined; }
Le code ci-dessus n'y fonctionnera pas. De plus, il sera réutilisable
if (! this.activeAppKey || this.activeAppKey.trim (). length === 0) {this.activeAppKey = sessionStorage.getItem (AppConstants.APP_KEY); }