Ao lidar com códigos complexos em JavaScript, muitas vezes há uma ambiguidade em descobrir a diferença entre uma função inline e uma função normal. Por exemplo, verificando uma variável criada em tempo de execução e atribuída a uma função. Nesses casos, verificar se uma variável é do tipo função usando JavaScript ajuda a descobrir e classificar os dados adequadamente.
Este blog demonstrará as abordagens para verificar se uma variável é do tipo função em JavaScript.
Como verificar se uma variável é do tipo função em JavaScript?
Para verificar/verificar se uma variável é do tipo função em JavaScript, as seguintes abordagens podem ser utilizadas:
- operador “typeOf”.
- operador “instância de”.
- método “object.prototype.tostring.call()”.
Vamos seguir cada uma das abordagens uma a uma!
Abordagem 1: verifique se a variável é do tipo de função em JavaScript usando o operador typeOf
O ' tipo de ” busca o tipo de dados de uma variável. Este operador pode ser utilizado em combinação com o operador igual estrito (===) para aplicar uma verificação em uma variável específica para seu tipo.
Exemplo
Vamos verificar o seguinte exemplo:
< tipo de script = 'texto/javascript' >função multiplicar ( uma , b ) {
Retorna uma * b ;
}
E se ( tipo de multiplicar === 'função' ) {
console. registro ( 'A variável é do tipo função' ) ;
}
senão {
console. registro ( 'A variável não é do tipo função' ) ;
}
roteiro >
Vamos seguir os seguintes passos, conforme indicado no código acima:
- Declare uma função chamada “ multiplicar() ” tendo os parâmetros declarados para multiplicar dois números.
- Em sua definição, multiplique os números especificados passados como parâmetros da função.
- Depois disso, aplique o “ tipo de ” com a ajuda de um operador igual estrito para verificar se o tipo da variável indicada é “ função ”.
- Como resultado, a mensagem correspondente será exibida na condição satisfeita ou não satisfeita, respectivamente.
Resultado
Na saída acima, pode-se observar que a variável “ multiplicar ” é do tipo de função.
Abordagem 2: verifique se a variável é do tipo de função em JavaScript usando o operador instanceof
O ' instancia de ” é usado para verificar o tipo de uma determinada função, variável, etc., em tempo de execução. Este operador pode ser utilizado para verificar o parâmetro passado para seu tipo, especificando seu tipo correspondente e aplicando uma verificação nele.
Sintaxe
Nome instancia de ModeloNa sintaxe acima:
- “ Nome ” refere-se ao nome de uma variável/função.
- “ Modelo ” corresponde ao tipo de uma variável/função, ou seja, string, etc.
Exemplo
O exemplo abaixo ilustra o conceito declarado:
< tipo de script = 'texto/javascript' >deixe sampleFunc = função ( ) {
}
função função de verificação ( x ) {
E se ( x instancia de Função ) {
alerta ( 'A variável é do tipo de função' ) ;
}
senão {
alerta ( 'Variável não é do tipo função' ) ;
} }
função de verificação ( sampleFunc ) ;
roteiro >
No trecho de código acima:
- Em primeiro lugar, defina uma função inline chamada “ sampleFunc() ”.
- Depois disso, declare outra função chamada “ VerifyFunction() ” tendo o parâmetro indicado. Em sua definição, aplique o “ instancia de ” operador no “ se/senão ' doença. Aqui, ' x ” representa o nome do parâmetro passado e “ Função ” indica seu tipo, respectivamente.
- Por fim, acesse a função declarada passando a função inline como seu parâmetro. Isso resultará na exibição da mensagem correspondente com relação ao tipo especificado no operador.
Resultado
A partir da saída acima, pode-se observar que a função inline declarada é do tipo “ função ' modelo.
Abordagem 3: verificar/verificar se a variável é do tipo função em JavaScript usando o método object.prototype.tostring.call()
O ' Object.prototype.toString() ” é usado para retornar uma string que pode representar um objeto. Este método pode ser aplicado com a ajuda do método de um objeto de forma que o tipo do objeto seja retornado.
Exemplo
Vamos analisar o seguinte exemplo:
< tipo de script = 'texto/javascript' >deixe sampleFunc = função ( ) { }
função função de verificação ( x ) {
E se ( Objeto . protótipo . para sequenciar . ligar ( x ) == '[função do objeto]' ) {
console. registro ( 'A variável é do tipo de função' ) ;
}
senão {
console. registro ( 'Variável não é do tipo função' ) ;
} }
função de verificação ( sampleFunc ) ;
roteiro >
Execute as seguintes etapas, conforme indicado nas linhas de código acima:
- Da mesma forma, declare uma função inline chamada “ sampleFunc() ”.
- Na próxima etapa, defina uma função chamada “ VerifyFunction() ” tendo o parâmetro indicado.
- Em sua definição, aplique o “ Object.prototype.toString.call() ” referindo-se ao parâmetro da função. O ' Função ” aqui representa o tipo da função específica a ser verificada.
- O adicionado “ E se ” a condição é executada se o parâmetro passado for uma função.
- No outro cenário, o “ senão ” será executada.
Resultado
A saída acima indica que a funcionalidade necessária foi alcançada.
Conclusão
O ' tipo de ” operador, o “ instancia de ” operador, ou o “ object.prototype.tostring.call() ” pode verificar/verificar se uma variável é do tipo função em JavaScript. O operador typeOf pode ser combinado com o operador igual estrito para verificar o tipo de uma variável. A instância do operador verifica a variável passada especificando seu tipo correspondente e aplicando uma verificação nela. O método object.prototype.tostring.call() retorna o tipo do objeto. Este artigo forneceu os métodos para verificar se uma variável é do tipo função usando JavaScript.