ஜாவாஸ்கிரிப்ட் இணையத்தில் ஆதிக்கம் செலுத்துகிறது – மேலும் அம்மொழியின் மையமான ECMAScript முதிர்ச்சியடைந்து வருகிறது. இந்த ஆண்டின் மத்தியில் எதிர்பார்க்கப்படும் புதிய விவரக்குறிப்பு (ES6 அல்லது JS2), ஏற்கனவே சோதிக்கக்கூடிய ஏராளமான புதுமைகளைக் கொண்டுவருகிறது. ஃபயர்பாக்ஸ் தற்போது சிறந்த ஆதரவை வழங்குகிறது, ஆனால் கூகிள் ட்ரேசர் போன்ற டிரான்ஸ்பைலர்கள் வழியாக பாலிஃபில்களும் சாத்தியமாகும். ES6-இன் புதிய அம்சங்களின் சுருக்கமான கண்ணோட்டம் கீழே கொடுக்கப்பட்டுள்ளது.
புதிய முக்கிய தளர்வும் வார் விட நிறைய சிறப்பாகச் செயல்படுவார்: சாத்திய எல்லை இப்போது சரியாக பிற மொழிகளில் இது (சி / சி ++, ஜாவா), போன்ற செயல்படும் ஏன் என்றால்-தொகுதிகள் தற்போது அவர்களது சொந்த நோக்கம் வேண்டும். ஏற்றுதல், அதாவது அந்தந்த எல்லைக்குள் மாறி அறிவிப்புகளை (மதிப்பு ஒதுக்கீடுகள் அல்ல) கொண்டு வருவதும் சரி செய்யப்படுகிறது:
console.log(x); var x = 'foo'; // undefined console.log(y); let y = 'bar'; // not initialized
மற்ற புதுமைகளின் பட்டியல் நீளமானது: மாறிலிகள் (const), சார்புகளுக்கான இயல்புநிலை மதிப்புகள் (function pow(a,b=2) { return Math.pow(a,b); }), சார்புகளுக்கான ஒரு புதிய குறியீடு (let pow = (a,b=2) => Math.pow(a,b);), ஏராளமான புதிய சார்புகள் (repeat(), contains(), startsWith(), find(), findIndex()), ... க்கான புதிய சுழல் கட்டமைப்பு.
புதிய தரவு வகைகளான Set, Map, Proxy மற்றும் Symbol, `import` கட்டளையைப் பயன்படுத்தி ஜாவாஸ்கிரிப்ட் கோப்புகளின் (மற்றவற்றின் பகுதிகளை) இறக்குமதி செய்யும் வசதி, மற்றும் கிளாஸ்கள் மற்றும் மரபுரிமைக்கான ஒரு புதிய, எளிதில் புரிந்துகொள்ளக்கூடிய தொடரியல் ஆகியவையும் குறிப்பிடத்தக்கவை. இருப்பினும், பெரும்பாலும், ஸ்டிரிங் லிட்டரல்களில் வரி முறிவுகளைச் சேர்க்கும் வசதி போன்ற சிறிய ஆனால் நீண்டகாலமாக எதிர்பார்க்கப்பட்ட அம்சங்களே முக்கியத்துவம் பெறுகின்றன (சிறப்பு மேற்கோள் குறிகளைக் கவனிக்கவும்).:
`foo bar`
ஜாவாஸ்கிரிப்ட் நீண்ட காலமாகவே, சிறிய இணையதள தந்திரங்களுக்கான ஒரு கருவியாக மட்டும் இருந்துவிடவில்லை – அது, டெஸ்க்டாப் செயலிகளுக்கு நிகரான, சக்திவாய்ந்த மற்றும் உயர் செயல்திறன் கொண்ட வலைச் செயலிகளை உருவாக்கப் பயன்படுகிறது. ஏராளமான பயனுள்ள புதிய அம்சங்கள் மற்றும் ஏற்கனவே உள்ள ES6 ஆதரவுடன், நிரலாக்கம் செய்வது இரு மடங்கு சுவாரஸ்யமாக உள்ளது.
புதிய நிலையான எண்ணின் உதவியுடன் இரண்டு எண்களின் சமத்துவத்தை எப்போதும் சரிபார்க்க விரும்பாதவர் யார். எப்சிலோன் , அதன் மதிப்பு 1 க்கும் அடுத்த உயர் மிதக்கும் புள்ளி மதிப்புக்கும் இடையிலான வேறுபாட்டைக் கொண்டுள்ளது?
let cmp = (a,b) => Math.abs(a-b) < Number.EPSILON;