Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

匿名関数を使用したJavaScriptカプセル化


オブジェクト指向プログラミング言語では、プライベートフィールドを使用してデータを隠すことができます。これらを使用して、クラスの内部を非表示にします。 JSには、内部の仕組みを非表示/カプセル化するためのビルドサポートはありません。

JSでカプセル化できる匿名関数があります。例を見てみましょう-

const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))

上記のコードをオープンで書き出すと、このコードはこれらの名前でグローバル名前空間を汚染します。代わりに、これをIIFE(即時呼び出し関数式)でラップすることができます。たとえば、

(() => {
const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))
})()

現在、これらの変数は関数式内に隠されています。しかし、functionとconstはグローバル名前空間を汚染しなくなりました。


  1. JavaScriptのインポートで「{}」を使用しますか?

    以下は、javaScriptインポートで{}を使用するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>  

  2. JavaScriptの匿名ラッパー関数

    匿名関数は、コードスニペット、JavaScriptライブラリ、関数などをラップして、他のライブラリコードと競合しないように、それらの可視性と名前空間を制御するために使用されます。 IIFE(即時呼び出し関数式)は、この目的で使用されます。 以下は、JavaScriptで匿名ラッパー関数を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&q