¿Cómo verificar que una variable sea de tipo función usando JavaScript?

Una función en JavaScript es el conjunto de declaraciones utilizadas para realizar una tarea específica. Una función puede ser nombrada o anónima. El conjunto de declaraciones dentro de una función se ejecuta cuando se invoca o llama a la función. Una función se puede asignar a una variable o pasar a un método.

var gfg = function(){/* A set of statements */};

Aquí, se asigna una función anónima a la variable nombrada como ‘gfg’. Hay varios métodos para comprobar si la variable es de tipo función o no. Algunos de ellos se discuten a continuación:

  1. Usando el operador instanceof: El operador instanceof verifica el tipo de un objeto en tiempo de ejecución. Devuelve un valor booleano correspondiente, es decir, verdadero o falso para indicar si el objeto es de un tipo particular o no.

    Ejemplo: este ejemplo utiliza el operador instanceof para comprobar si una variable es de tipo función o no.

    <script>
      
    // Declare a variable and initialize it
    // with anonymous function
    var gfg = function(){/* A set of statements */};
      
    // Function to check a variable is of
    // function type or not
    function testing(x) {
          
        if(x instanceof Function) {
            document.write("Variable is of function type");
        }
        else {
            document.write("Variable is not of function type");
        }
    }
      
    // Function call
    testing(gfg);
      
    </script>                      

    Producción:

    Variable is of function type
  2. Uso del operador de igualdad estricta (===): en JavaScript, el operador ‘===’ se usa para verificar si dos entidades tienen los mismos valores y el mismo tipo proporciona un resultado booleano. En este ejemplo, usamos el operador ‘===’ . Este operador, llamado operador de igualdad estricta, comprueba si los operandos son del mismo tipo.

    Ejemplo: Este ejemplo utiliza el operador === para comprobar si una variable es de tipo función o no.

    <script>
      
    // Declare a variable and initialize it
    // with anonymous function
    var gfg = function(){/* A set of statements */};
      
    // Function to check a variable is of
    // function type or not
    function testing(x)
    {   
        if (typeof x === "function") {
            document.write("Variable is of function type");
        }
        else {
            document.write("Variable is not of function type");
        }
    }
      
    // Function call
    testing(gfg);
      
    </script>                       

    Producción:

    Variable is of function type
  3. Usando object.prototype.toString: este método usa object.prototype.toString . Cada objeto tiene un método toString(), que se llama implícitamente cuando se espera un valor de tipo String. Si el método toString() no se anula, de forma predeterminada devuelve ‘[ tipo de objeto ]’, donde ‘tipo’ es el tipo de objeto.

    Ejemplo: este ejemplo utiliza el operador object.prototype.toString para comprobar si una variable es de tipo función o no.

    <script>
      
    // Declare a variable and initialize it
    // with anonymous function
    var gfg = function(){/* A set of statements */};
      
    // Function to check a variable is of
    // function type or not
    function testing(x)
    {   
        if (Object.prototype.toString.call(x) == '[object Function]')
        {
            document.write("Variable is of function type");
               
        }
        else {
            document.write("Variable is not of function type");
        }
    }
      
    // Function call
    testing(gfg);
      
    </script>     

    Producción:

    Variable is of function type

Publicación traducida automáticamente

Artículo escrito por Nilarjun 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 *