Íme néhány praktikus JavaScript objektum, amely be van zárva

A BookAuthority a Discover Functional JavaScript- et az egyik legjobb új funkcionális programozási könyvnek nevezte el !

A beágyazás az információk elrejtését jelenti. Arról szól, hogy a lehető legtöbbet elrejtse az objektum belső részei közül, és minimális nyilvános felületet tegyen közzé.

A JavaScript-be történő beágyazás létrehozásának legegyszerűbb és legelegánsabb módja a lezárások használata. A bezárás a magánállam funkciójaként hozható létre. Amikor sok bezárást hozunk létre ugyanazon magánállapotban, létrehozunk egy objektumot.

Készíteni fogok néhány olyan objektumot, amelyek hasznosak lehetnek egy alkalmazásban: Verem, Várakozási sor, Eseménykibocsátó és Időzítő. Mindegyikük a gyári funkciók felhasználásával készül.

Kezdjük.

Kazal

A verem egy adatstruktúra, amelynek két fő művelete van: pushegy elem hozzáadásához a gyűjteményhez és popa legfrissebb hozzáadott elem eltávolításához. Elemeket ad hozzá és távolít el a Last In First Out (LIFO) elv szerint.

Nézd meg a következő példát:

let stack = Stack(); stack.push(1); stack.push(2); stack.push(3); stack.pop(); //3 stack.pop(); //2

Végezzük el a verem gyári funkciójának használatát.

function Stack(){ let list = []; function push(value){ list.push(value); } function pop(){ return list.pop(); } return Object.freeze({ push, pop }); }

A verem objektumnak két nyilvános metódusa van push()és pop(). A belső állapot csak ezen módszerekkel változtatható meg.

stack.list; //undefined

Nem tudom közvetlenül módosítani a belső állapotot:

stack.list = 0;//Cannot add property list, object is not extensible

További információt a Discover Functional JavaScript könyvben talál.

Ha többet szeretne megtudni a funkcionális programozási technikák alkalmazásáról a React-ben, tekintse meg a Functional React cikket .

Tanulja meg a funkcionális React projekt alapú módon, a React és Redux funkciós architektúrával .

Kövesse a Twitteren