¿Por qué usar el signo de interrogación en la variable TypeScript?

Los signos de interrogación en la variable TypeScript se utilizan para marcar esa variable como una variable opcional. Si ponemos el signo de interrogación al declarar una variable, esa variable se vuelve opcional. Los parámetros opcionales tendrán valor como indefinido cuando no se utilicen.

sintaxis:

function A(x?: number) {
    // Function_body
}

Los siguientes ejemplos ilustran el enfoque anterior:

  • Ejemplo 1:

    <script>
    function point(x?: number, y?: number){
        if(x) 
            console.log('X : ' + x);
        else 
            console.log('Value of X coordinate not given');
        if(y) 
            console.log('Y : ' + y);
        else 
            console.log('Value of Y coordinate not given');
    }
    </script>
  • Producción:
    Function Call: point();
    Value of X coordinate not given
    Value of Y coordinate not given
    
    Function Call : point(10);
    X : 10
    Value of Y coordinate not given
    
    Function Call : point(10, 20);
    X : 10
    Y : 20
    
  • Ejemplo 2:

    <script>
    class Hello{
      
        constructor(private firstName: string, private lastName?: string)
        {
            this.firstName = firstName;
            this.lastName = lastName;
            if (lastName)
                console.log('Hello ' + this.firstName + ' ' + this.lastName);
            else
                console.log('Hello ' + this.firstName);
        }
    }
      
    // Creating an object h1
    let h1 = new Hello('Shivam'); 
      
    // Creating an object h2
    let h2 = new Hello('Shivam', 'Gupta'); 
    </script>
  • Producción:
    Hello Shivam
    Hello Shivam Gupta
    
  • Nota: Un parámetro requerido no puede seguir a un parámetro opcional. Si declaramos alguna variable como opcional, todas las variables a la derecha de esa también deben ser opcionales, de lo contrario, dará un error.

    Publicación traducida automáticamente

    Artículo escrito por shivamgupta57121 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *