Մաս 1. Սովորեք այս հասկացությունները՝ JavaScript-ի խորը պատկերացում կազմելու համար:
Առաջին կոդը JavaScript-ով գրելը կարող է տևել մոտ 1 օր, բայց խորը լինելը և անհայտներն ու ֆոնային բաները իմանալը կարող է ձեզ բերել ամբողջ կարիերան:
Մյուս մասերի հղումները կհրապարակվեն և կտեղադրվեն այստեղ, երբ պատրաստ լինեն:
Շրջանակ
Մի խոսքով, «Որտեղ կարող եք մուտք գործել ձեր հայտարարագիրը Scope կոչվող ծածկագրում»:
Մենք ունենք երկու տեսակի շրջանակներ՝ Գլոբալ շրջանակ և Տեղական շրջանակներ, և տարբերությունն այն է, որ դուք կարող եք մուտք գործել գլոբալ շրջանակներ բոլոր այն վայրերում, որտեղ ձեր կոդի մեջ է, բայց տեղականները հայտարարում են բլոկների ներսում, որպեսզի կարողանաք մուտք գործել դրանք միայն բլոկի ներսում:
Նկատի ունեցեք, որ var
հիմնաբառը կարող է մի փոքր այլ կերպ վարվել բարձրացնող մասի կողքին:
{ // Local scope and correct const access_inside_block = 'test'; console.log(access_inside_block); } // Error, you can't access the variable here // You're not in the scope console.log(access_inside_block);
Տարբերությունը var, let
և const
-ի միջև
Այժմ մենք գիտենք, թե որն է շրջանակը, այնպես որ կարող ենք կռահել, որ այստեղ ամենաշատ տարբերություններից մեկը այս հիմնաբառերի շրջանակն է:
Բարձրացում
Դուք կարող եք շատ լսել այս բառը: բայց ի՞նչ է սա իրականում: Կարճ ասած, Hoisting-ը JavaScript-ում մի մեխանիզմ է, որը որոշ հայտարարություններ անում են նախքան դրանց կատարումը, ինչպես փուչիկը, JS շարժիչը դրանք կբերի առաջինին և կհայտարարի մյուսներից առաջ, ինչպես փոփոխականների հայտարարագրերի var
բանալի բառը, կարող են կոչվել var
-ով ներկայացված փոփոխականները: նախքան արժեքը նշանակելը, և դուք կստանաք undefined
արդյունքը կամ functions
-ը, որը հայտարարված է function
հիմնաբառով, կարող է կանչվել JavaScript-ում հայտարարումից առաջ:
foo(); function foo() { // Your function code }
IIFE
Այս արտահայտությունը նշանակում է «Անմիջապես կանչված ֆունկցիայի արտահայտություն»,ինչընշանակում է հայտարարել մի ֆունկցիա, որն աշխատում է այն սահմանվելուն պես և թույլ է տալիս փոփոխականներն ու գործառույթները դարձնել մասնավոր և ապահովել ասինխրոն կոդը: loops-ում ճիշտ է կատարվում:
(function () {
// …
})();
Currying
Սա JavaScript ֆունկցիաների հետ աշխատելու առաջադեմ տեխնիկա է, որն իրականում փոխակերպում է ֆունկցիաները և թույլ է տալիս տարբեր քայլերով արգումենտներ փոխանցել ֆունկցիային և այն տարբեր քայլերով կանչելի դարձնել:
function curry(f) { // curry(f) does the currying transform return function(a) { return function(b) { return f(a, b); }; }; } // usage function sum(a, b) { return a + b; } let curriedSum = curry(sum); alert( curriedSum(1)(2) ); // 3
Հաջորդ քայլը
Շնորհակալություն JavaScript-ի խորը հասկացությունները, որոնք դուք պետք է իմանաք, — Մաս 1, ես փորձում եմ հոդվածները հնարավորինս փոքր և արդյունավետ պահել, և դուք կարող եք հետևել այս շարքին՝ բոլոր դասերը վերցնելու համար: Շնորհակալություն։
Ավելի շատ բովանդակություն PlainEnglish.io կայքում: Գրանցվեք մեր անվճար շաբաթական տեղեկագրին: Հետևեք մեզ Twitter, LinkedIn, YouTube և Discord-ում: . Հետաքրքրվա՞ծ եք Growth Hacking-ով: Դիտեք Circuit: