IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

TypeScript Discussion :

type guard basique


Sujet :

TypeScript

  1. #1
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 390
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 390
    Points : 4 454
    Points
    4 454
    Par défaut type guard basique
    Bonjour, c'est surement une question basique... pourquoi mon isUser() fonctionne mais pas mon isAdmin() ?
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    interface User {
        name:string;
        age:number;
    }
    interface Admin extends User {
        isAdmin:boolean;
    }
    type UnknownUser = User|Admin;
     
    function isUser(user:UnknownUser):user is User {
        return user.name === 'test';
    }
    function isAdmin(user:UnknownUser):user is Admin {
        return user.isAdmin === true;
    }
    Property 'isAdmin' does not exist on type 'UnknownUser'.
    Property 'isAdmin' does not exist on type 'User'.

    j'ai l'impression que type UnknownUser = User|Admin; ne fait pas ce que je pense qu'il fait...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 390
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 390
    Points : 4 454
    Points
    4 454
    Par défaut
    auto reponse : (apres plusieurs mois)
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function isAdmin(user: UnknownUser): user is Admin {
        return "isAdmin" in user && user.isAdmin === true;
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/09/2015, 17h26
  2. programmation corba: le type "sequence"
    Par Kali dans le forum CORBA
    Réponses: 4
    Dernier message: 28/08/2005, 16h09
  3. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo