Մաս 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: