ജാവാസ്ക്രിപ്റ്റ്

**ജാവാസ്ക്രിപ്റ്റ്** ഒരു ഹൈലെവൽ, ഡൈനമിക് ആയി ടൈപ് ചെയ്യപ്പെടുന്ന, ഡൈനമിക് പ്രോഗ്രാമിങ്ങ് ഭാഷയാണ്. ഇന്റർപ്രെറ്റ് ചെയ്യപ്പെടുന്ന ഭാഷയാണെങ്കിലും, പുതിയ ബ്രൗസറുകളിൽ  ജസ്റ്റ് ഇൻ ടൈം കമ്പൈലേഷൻ ഇപ്പോൾ സാധ്യമാണ്.

ക്ലയന്റ് ഭാഗത്തും അല്ലാതെയുമുള്ള ആപ്ലിക്കേഷനുകളിൽ  ഉപയോഗിക്കുവാനായി വികസിപ്പിച്ചെടുത്തിട്ടുള്ള ഒരു സ്ക്രിപ്റ്റിങ്ങ് ഭാഷയാണ് ജാവാസ്ക്രിപ്റ്റ്. പ്രധാനമായും വെബ് താളുകൾക്കു വേണ്ടിയുള്ള ക്ലയന്റ് ഭാഗ സ്ക്രിപ്റ്റിങ്ങിനു വേണ്ടിയാണ് ഉപയോഗിച്ചിരുന്നത്. ഇ.സി.എം.എ. സ്ക്രിപ്റ്റ് (ECMAScript) മാനദണ്ഡങ്ങൾ പ്രകാരം ക്രമീകരിച്ചിട്ടുണ്ട് ഈ ഭാഷ.

 പി.ഡി.എഫ്  ഡോക്യുമെന്റുകൾ, പ്രത്യേക സൈറ്റുകൾ, ഇന്റർനെറ്റ് സേവനങ്ങൾ തുടങ്ങിയവക്ക് വേണ്ടി മാത്രമായുള്ള ബ്രൌസറുകൾ (ഇവക്ക് സൈറ്റ് സ്പെസിഫിക് ബ്രൌസറുകൾ അഥവാ എസ്‌എസ്ബി എന്നാണ് പറയുക) തുടങ്ങിയവയാണവ. പുതിയതും വേഗതയേറിയതുമായ ജാവാസ്ക്രിപ്റ്റ് വിർച്വൽ മെഷീനുകളും, അവയെ അടിസ്ഥാനമാക്കി നിർമ്മിക്കപ്പെട്ടിട്ടുള്ള ഫ്രെയിംവർക്കുകളും (ഉദാഹരണത്തിന്, നോഡ്.ജെ‌എസ്-Node.js) മറ്റും സെർവർസൈഡ് വെബ് ആപ്ലിക്കേഷനുകളുടെ നിർമ്മാണത്തിൽ ജാവാസ്ക്രിപ്റ്റിനുള്ള സാധ്യത കൂട്ടുന്നു.

നിരവധി പ്രോഗ്രാമിങ് ഭാഷകളിൽ നിന്നും ആശയങ്ങൾ എടുത്ത് കാഴ്ചയിൽ ഏറെക്കുറെ ജാവയെ അനുസ്മരിപ്പിക്കും പോലെയാണ്‌ വികസിപ്പിച്ചിരിക്കുന്നത് . ജാവാസ്ക്രിപ്റ്റിന്റെ വികസനത്തിനാധാരമായ മൂലതത്ത്വങ്ങളിൽ സെൽഫ് (self), സ്കീം (scheme) എന്നീ പ്രോഗ്രാമിങ് ഭാഷകളുടെ സ്വാധീനമുണ്ട്.

## പേരിനു പിന്നിൽ
പേരിൽ ജാവയുമായി സാമ്യം ഉണ്ടെങ്കിലും ഇരുഭാഷകളും സിയുടെ വ്യാകരണം കടമെടുത്തിരിക്കുന്നതൊഴിച്ചാൽ പ്രകടമായ സാദൃശ്യങ്ങൾ ഒന്നുമില്ല. നെറ്റ്‌സ്കേപും സൺ മൈക്രോസിസ്റ്റംസും തമ്മിലുള്ള കച്ചവടക്കരാറിന്റെ ഫലമായാണ്‌ ലൈവ്സ്ക്രിപ്റ്റ് എന്ന ഇതിന്റെ ആദ്യകാലനാമം ജാവാസ്ക്രിപ്റ്റ് എന്നു മാറ്റിയത്. അക്കാലത്ത് പ്രബലമായിരുന്ന സണ്ണിന്റെ ജാവാ റൺ‌ടൈം നെറ്റ്‌സ്കേപിന്റെ ബ്രൗസറിനൊപ്പം കൂട്ടിച്ചേർക്കാനനുമതി നൽകിയതിനു പകരമായിരുന്നു ഇത്.

ഇപ്പോൾ "JavaScript" എന്നത് സൺ ‌മൈക്രോസിസ്റ്റംസിന്റെ അംഗീകൃതവ്യാപാരമുദ്രയാണ്‌.

## ചരിത്രം
### നെറ്റ്സ്കേപ്പിലുള്ള ക്രീയേഷൻസ്
ഗ്രാഫിക്കൽ യൂസർ ഇന്റർഫേസുള്ള ആദ്യത്തെ വെബ് ബ്രൗസർ, മൊസൈക്ക്, 1993-ൽ പുറത്തിറങ്ങി. സാങ്കേതികതികവില്ലാത്ത ആളുകൾക്ക് ആക്‌സസ് ചെയ്യാവുന്ന, പുതിയ വേൾഡ് വൈഡ് വെബിന്റെ ദ്രുതഗതിയിലുള്ള വളർച്ചയിൽ ഇത് ഒരു പ്രധാന പങ്ക് വഹിച്ചു. മൊസൈക്കിന്റെ മുൻനിര ഡെവലപ്പർമാർ പിന്നീട് നെറ്റ്‌സ്കേപ് കോർപ്പറേഷൻ സ്ഥാപിച്ചു, അത് 1994-ൽ നെറ്റ്‌സ്‌കേപ്പ് നാവിഗേറ്റർ എന്ന കൂടുതൽ മിനുക്കിയ ബ്രൗസർ പുറത്തിറക്കി. ഇത് പെട്ടെന്ന് തന്നെ ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കപ്പെട്ട ഒന്നായി മാറി.

വെബിന്റെ ഈ രൂപീകരണ വർഷങ്ങളിൽ, ബ്രൗസറിൽ പേജ് ലോഡുചെയ്‌തതിന് ശേഷം ചലനാത്മകമായ പെരുമാറ്റത്തിനുള്ള കഴിവ് ഇല്ലാത്ത വെബ് പേജുകൾ സ്റ്റാറ്റിക്ക് മാത്രമായിരിക്കും. വളർന്നുവരുന്ന വെബ് ഡെവലപ്‌മെന്റ് രംഗത്ത് ഈ പരിമിതി നീക്കം ചെയ്യാനുള്ള ആഗ്രഹം ഉണ്ടായിരുന്നു, അതിനാൽ 1995-ൽ നെറ്റ്‌സ്‌കേപ്പ് നാവിഗേറ്ററിലേക്ക് ഒരു സ്ക്രിപ്റ്റിങ്ങ് ഭാഷ ചേർക്കാൻ തീരുമാനിച്ചു. ഇത് നേടുന്നതിന് അവർ രണ്ട് വഴികൾ പിന്തുടർന്നു: ജാവ പ്രോഗ്രാമിംഗ് ഭാഷ ഉൾച്ചേർക്കുന്നതിന് സൺ മൈക്രോസിസ്റ്റംസുമായി സഹകരിച്ച് സ്കീം ഭാഷ ചേർക്കുന്നതിന് വേണ്ടി ബ്രണ്ടൻ എച്ചിനെ നിയമിക്കുകയും ചെയ്തു.

## സിന്റാക്സ്

```javascript
//ആരോ ഫങ്ക്ഷന് ഉപയോഗിച്ചുള്ള പ്രോഗ്രാം 

const printStringNTimes=(stringToPrint='No string found!',numberOfTimes=1)=>{
    for(let i=0;i<numberOfTimes;i++){
        console.log(stringToPrint);
    }
}
printStringNTimes('വിക്കി മനോഹരം',3)
```

```javascript
//മുകളിലെ അതെ പ്രോഗ്രാം ലോജിക് വ്യത്യാസം വരുത്തി സാദാ ഫങ്ക്ഷന് വെച്ച് എഴുതിയത് 

function printStringNTimes(stringToPrint,numberOfTimes=1){
    for(let i=0;i<numberOfTimes;i++){
        if(!stringToPrint){
           console.log("പ്രിന്റ് ചെയ്യാൻ വാലിഡ്  സ്ട്രിംഗ് ഇല്ല ");
           break;
        }else{
            console.log(stringToPrint)
        }
    }
}
printStringNTimes('',3)
```


## ജെസ്ക്രിപ്റ്റ്

വ്യാപാരമുദ്രാപ്രശ്നങ്ങൾ ഒഴിവാക്കാനായി മൈക്രോസോഫ്റ്റ് ജാവാസ്ക്രിപ്റ്റിനു സമാനമായി പുറത്തിറക്കിയ സ്ക്രിപ്റ്റിങ് ഭാഷക്ക് ജെസ്ക്രിപ്റ്റ് എന്നു പേരിട്ടു. 1996 ഓഗസ്റ്റിൽ പുറത്തിറക്കിയ ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ 3.0-നോടൊപ്പം ജെസ്ക്രിപ്റ്റ് പിന്തുണ ഉൾക്കൊള്ളിക്കുകയും ചെയ്തു. ജാവാസ്ക്രിപ്റ്റിൽ അക്കാലത്തില്ലാതിരുന്ന വൈ2കെ പ്രശ്നപിന്തുണയും ജെസ്ക്രിപ്റ്റിൽ ഉൾക്കൊള്ളിച്ചിരുന്നു.

## പ്രോട്ടോടൈപ്
ഇൻഹെരിറ്റൻസിനായി ക്ലാസുകൾക്കു പകരം പ്രോട്ടോടൈപ്പുകളാണ് ജാവസ്ക്രിപ്റ്റിൽ ഉപയോഗിക്കുന്നത്. നിലവിലുള്ള ഒബ്ജറ്റുകളെ പ്രോട്ടോടൈപ്പുകൾ അഥവാ മൂലരൂപമായി ഉപയോഗിച്ച് പുതിയ ഒബ്ജറ്റുകളെ ഉണ്ടാക്കുന്ന രീതിയാണിത്.

## പുറമെ നിന്നുള്ള കണ്ണികൾ
* **മോസില്ല ഡെവലപ്പർ സെന്ററിൽ നിന്നുള്ള കണ്ണികൾ**
** ജാവാസ്ക്രിപ്റ്റിനെക്കുറിച്ചുള്ള മോസില്ലയുടെ ഔദ്യോഗിക പ്രമാണം
** കോർ ജാവാസ്ക്രിപ്റ്റ് പതിപ്പുകൾക്കായുള്ള പ്രമാണങ്ങൾ: 1.5+ 
** പതിപ്പുകളിൽ പുതിയതായി: 1.6, 1.7, 1.8 , 1.8.1 
** ജാവാസ്ക്രിപ്റ്റ് പതിപ്പുകളുടെ പട്ടിക: പതിപ്പുകൾ 1.5+
** ജാവാസ്ക്രിപ്റ്റ് ഒരിക്കൽ കൂടി പരിചയപ്പെടാം 

## അവലംബം


വർഗ്ഗം:സ്ക്രിപ്റ്റിങ്ങ് ഭാഷകൾ
വർഗ്ഗം:അമേരിക്കൻ കണ്ടുപിടിത്തങ്ങൾ