Zkontrolujte, zda je proměnná typu funkce pomocí JavaScriptu

Zkontrolujte Zda Je Promenna Typu Funkce Pomoci Javascriptu



Při práci se složitými kódy v JavaScriptu často dochází k nejasnostem při zjišťování rozdílu mezi inline funkcí a normální funkcí. Například kontrola proměnné vytvořené za běhu a přiřazené k funkci. V takových případech kontrola, zda je proměnná funkčního typu pomocí JavaScriptu, pomáhá při zjišťování a správném řazení dat.

Tento blog bude demonstrovat přístupy k ověření, zda je proměnná funkčního typu v JavaScriptu.







Jak zkontrolovat, zda je proměnná typu funkce v JavaScriptu?

Ke kontrole/ověření, zda je proměnná funkčního typu v JavaScriptu, lze použít následující přístupy:



  • operátor „typeOf“.
  • „instance“ operátora.
  • metoda „object.prototype.tostring.call()“.

Sledujme každý z přístupů jeden po druhém!



Přístup 1: Zkontrolujte, zda je proměnná typu funkce v JavaScriptu pomocí operátoru typeOf

' Typ Operátor ” načte datový typ proměnné. Tento operátor lze použít v kombinaci s operátorem striktní rovnosti (===) k použití kontroly konkrétní proměnné jejího typu.





Příklad

Podívejme se na následující příklad:

< typ skriptu = 'text/javascript' >
funkce násobit ( A , b ) {
vrátit se A * b ;
}
-li ( Typ násobit === 'funkce' ) {
řídicí panel. log ( 'Proměnná je typu funkce' ) ;
}
jiný {
řídicí panel. log ( 'Proměnná není typu funkce' ) ;
}
skript >

Pojďme si projít následující kroky, jak je uvedeno ve výše uvedeném kódu:



  • Deklarujte funkci s názvem „ násobit() ” s uvedenými parametry pro násobení dvou čísel.
  • V její definici vynásobte zadaná čísla předaná jako parametry funkce.
  • Poté použijte „ Typ ” operátor s pomocí striktního rovného operátoru k ověření, zda je typ uvedené proměnné “ funkce “.
  • V důsledku toho se odpovídající zpráva zobrazí při splněné nebo nesplněné podmínce.

Výstup

Ve výše uvedeném výstupu lze pozorovat, že proměnná „ násobit ” je typu funkce.

Přístup 2: Zkontrolujte, zda je proměnná typu funkce v JavaScriptu pomocí instanceof Operator

' instanceof Operátor ” se používá ke kontrole typu konkrétní funkce, proměnné atd. za běhu. Tento operátor lze použít ke kontrole předávaného parametru pro jeho typ zadáním jeho odpovídajícího typu a použitím kontroly.

Syntax

název instanceof Typ

Ve výše uvedené syntaxi:

  • název ” odkazuje na název proměnné/funkce.
  • Typ ” odpovídá typu proměnné/funkce, tedy řetězce atd.

Příklad

Níže uvedený příklad ilustruje uvedený koncept:

< typ skriptu = 'text/javascript' >
nech sampleFunc = funkce ( ) {
}
funkce ověřitFunkci ( X ) {
-li ( X instanceof Funkce ) {
upozornění ( 'Proměnná je funkčního typu' ) ;
}
jiný {
upozornění ( 'Proměnná není funkčního typu' ) ;
} }
ověřitFunkci ( sampleFunc ) ;
skript >

Ve výše uvedeném úryvku kódu:

  • Nejprve definujte inline funkci s názvem „ sampleFunc() “.
  • Poté deklarujte další funkci s názvem „ ověřitFunkce() “ s uvedeným parametrem. V jeho definici použijte „ instanceof ” operátor v “ pokud/jinak “podmínka. Tady, ' X “ představuje název předávaného parametru a “ Funkce “ označuje jeho typ, resp.
  • Nakonec přistupte k uvedené funkci předáním inline funkce jako jejího parametru. Tím se zobrazí odpovídající zpráva s ohledem na zadaný typ v operátoru.

Výstup

Z výše uvedeného výstupu lze pozorovat, že uvedená inline funkce je „ funkce “typ.

Přístup 3: Zkontrolujte/ověřte, zda je proměnná funkce typu v JavaScriptu pomocí metody object.prototype.tostring.call()

' Object.prototype.toString() ” metoda se používá k vrácení řetězce, který může představovat objekt. Tuto metodu lze použít pomocí metody objektu tak, že se vrátí typ objektu.

Příklad

Pojďme si představit následující příklad:

< typ skriptu = 'text/javascript' >
nech sampleFunc = funkce ( ) { }
funkce ověřitFunkci ( X ) {
-li ( Objekt . prototyp . toString . volání ( X ) == '[funkce objektu]' ) {
řídicí panel. log ( 'Proměnná je funkčního typu' ) ;
}
jiný {
řídicí panel. log ( 'Proměnná není funkčního typu' ) ;
} }
ověřitFunkci ( sampleFunc ) ;
skript >

Proveďte následující kroky, jak je uvedeno ve výše uvedených řádcích kódu:

  • Podobně deklarujte inline funkci s názvem „ sampleFunc() “.
  • V dalším kroku definujte funkci s názvem „ ověřitFunkce() “ s uvedeným parametrem.
  • V jeho definici použijte „ Object.prototype.toString.call() ” metodou odkazem na parametr funkce. ' Funkce ” zde představuje typ konkrétní funkce, která má být zkontrolována.
  • Doplněno „ -li ” podmínka se provede, pokud je předávaným parametrem funkce.
  • V druhém scénáři „ jiný ” podmínka bude provedena.

Výstup

Výše uvedený výstup indikuje, že je dosaženo požadované funkčnosti.

Závěr

' Typ operátor, instanceof operátor “, nebo “ object.prototype.tostring.call() ” metoda může zkontrolovat/ověřit, zda je proměnná funkčního typu v JavaScriptu. Operátor typeOf lze zkombinovat s operátorem striktní rovnosti pro kontrolu typu proměnné. Instance operátora zkontroluje předávanou proměnnou zadáním jejího odpovídajícího typu a použitím kontroly. Metoda object.prototype.tostring.call() vrací typ objektu. Tento zápis poskytl metody pro ověření, zda je proměnná funkčního typu pomocí JavaScriptu.