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