JavaScriptの通常の関数とArrow関数?
通常の関数と矢印関数
矢印関数 コードを簡潔に記述するために使用されます。両方の機能通常 および矢印 同様の方法で動作しますが、それらの間にはいくつかの違いがあります。それらの違いについて簡単に説明しましょう。
矢印関数の構文
let x = (params) => { // code };
通常の関数の構文
let x = function functionname(params){ // code };
「this」キーワードの使用法
矢印関数では「this」キーワードを使用できませんが、通常の関数では邪魔されずに使用できます。
例
次の例では、両方の通常 (長方形)と矢印 (正方形)関数はオブジェクト「 num」内で使用されました "、len(長さ)とbre(幅)のプロパティで構成されています。私たちの目的は、正方形の領域を見つけることです。 (len * len)矢印関数を使用 および長方形の面積 (len * bre)通常を使用 関数。しかし、「これ "キーワードは矢印関数では機能しません 正方形の面積の値 「NaN」として返されます "一方、通常の 関数は、長方形の正確な領域を取得しました 出力に示されているように。
<html> <body> <script> var num = { len: 12, bre: 13, square:() => { document.write(this.len * this.len); }, rectangle(){ document.write(this.len * this.bre); } }; num.square(); document.write("</br>"); num.rectangle(); </script> </body> </html>
出力
NaN 156
次の例では、「 new」を使用しています "キーワードいくつかの引数が通常の両方に渡されました および矢印 関数。しかし、矢印機能以降 「構築可能」ではありません 「エラーが発生しますが、通常の関数への正当な出力が得られます 。
<html> <body> <script> var word = function(){ document.write(JSON.stringify(arguments)); /// executes '{"0":"Tutorix","1":"Tutorialspoint"}' as output }; new word("Tutorix","Tutorialspoint"); var newword = ()=> { document.write(JSON.stringify(arguments)); //executes 'newword is not a constructor' as output }; new newword("Tutorix","Tutorialspoint"); </script> </body> </html>
-
JavaScriptの太い矢印関数
太い矢印関数の構文は次のようになります- (param1,param2,..)=>{ } しかありません。 以下は、JavaScriptでファットアロー関数を実装するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&
-
JavaScriptのファーストクラス関数
JavaScriptは関数をオブジェクトとして扱い、関数をパラメーターとして別の関数に渡したり、他の関数から関数を返したりすることもできます。 JavaScriptでは、関数はファーストクラスの関数です。つまり、変数、オブジェクト、配列に格納できます。高階関数は、関数を取得するか、関数を返すか、またはその両方を実行できます。 以下は、JavaScriptでファーストクラス関数を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT