ECMAScript 2015
JavaScript க்கான இரண்டாவது முக்கிய திருத்தம்.
ECMAScript 2015 ES6 என்றும் அறியப்படுகிறது.
முக்கிய குறிப்பு:
ES6 என்பது JavaScript வரலாற்றில் மிகப்பெரிய புதுப்பிப்பாகக் கருதப்படுகிறது. இது நவீன JavaScript புரோகிராமிங்கின் அடித்தளத்தை அமைத்தது.
JavaScript 2015 (ES6) இல் புதிய அம்சங்கள்
| அம்சம் | விளக்கம் |
|---|---|
| The let keyword | தொகுதி நோக்கத்துடன் ஒரு மாறியை அறிவிக்கிறது |
| The const keyword | நிலையான மாற்ற முடியாத மாறியை அறிவிக்கிறது |
| Arrow Functions | செயல்பாடு வெளிப்பாடுகளை எழுத குறுகிய தொடரியலை அனுமதிக்கிறது |
| {a,b} = Operator | பொருள் பண்புகளை மாறிகளுக்கு ஒதுக்குகிறது (object destructuring) |
| [a,b] = Operator | வரிசை மதிப்புகளை மாறிகளுக்கு ஒதுக்குகிறது (array destructuring) |
| ... Operator | ஒரு வரிசை அல்லது மீண்டும் மீண்டும் செய்யக்கூடியதை தனிப்பட்ட கூறுகளாக பரவச் செய்கிறது |
| For/of | மீண்டும் மீண்டும் செய்யக்கூடிய பொருள்களின் மதிப்புகள் வழியாக சுழல்கிறது |
| Map Objects | விசை-மதிப்பு ஜோடிகளைக் கொண்ட பொருள், பொருள்களைப் போன்றது ஆனால் வேறுபட்டது |
| Set Objects | தனிப்பட்ட மதிப்புகளைச் சேமிக்கும் வரிசை |
| Classes | JavaScript பொருள்களுக்கான வார்ப்புருக்கள் |
| Promises | அசிங்க்ரோனஸ் செயல்பாட்டின் முடிவைக் குறிக்கும் பொருள் |
| Symbol | எந்த குறியீடும் அணுக முடியாத ஒரு தனிப்பட்ட "மறைக்கப்பட்ட" அடையாளங்காட்டி |
| Default Parameters | செயல்பாடு அளவுருக்களுக்கு இயல்புநிலை மதிப்புகளை அனுமதிக்கிறது |
| Rest Parameters | செயல்பாடுகள் காலவரையற்ற எண்ணிக்கையிலான வாதங்களைக் கையாள அனுமதிக்கிறது |
| String.includes() | ஒரு சரம் குறிப்பிட்ட மதிப்பைக் கொண்டிருந்தால் true ஐ வழங்குகிறது |
| String.startsWith() | ஒரு சரம் குறிப்பிட்ட மதிப்புடன் தொடங்கினால் true ஐ வழங்குகிறது |
| String.endsWith() | ஒரு சரம் குறிப்பிட்ட மதிப்புடன் முடிவடைந்தால் true ஐ வழங்குகிறது |
| Array entries() | ஒரு வரிசையிலிருந்து மீண்டும் மீண்டும் செய்யக்கூடிய விசை/மதிப்பு ஜோடிகளை வழங்குகிறது |
| Array.from() | ஒரு சரத்திலிருந்து வரிசையை உருவாக்குகிறது |
| Array keys() | ஒரு வரிசையின் விசைகளுடன் மீண்டும் மீண்டும் செய்யக்கூடியதை வழங்குகிறது |
| Array find() | ஒரு சோதனையை தேர்ச்சி பெற்ற முதல் உறுப்பின் மதிப்பை வழங்குகிறது |
| Array findIndex() | ஒரு சோதனையை தேர்ச்சி பெற்ற முதல் உறுப்பின் குறியீட்டை வழங்குகிறது |
| Object.assign() | மூல பொருளிலிருந்து இலக்கு பொருளுக்கு பண்புகளை நகலெடுக்கிறது |
| RegExp /u | வழக்கமான வெளிப்பாட்டில் முழு யூனிகோட் ஆதரவை செயல்படுத்துகிறது |
| RegExp /y | கடைசிஇண்டெக்ஸ் பண்பிலிருந்து ஒரு "ஸ்டிக்கி" தேடலைச் செய்கிறது |
| isFinite() | வாதம் Infinity அல்லது NaN இல்லையென்றால் true ஐ வழங்குகிறது |
| IsNaN() | வாதம் NaN என்றால் true ஐ வழங்குகிறது |
| Modules | உங்கள் குறியீட்டை தனி கோப்புகளாக பிரிக்க அனுமதிக்கிறது |
| Reflect | பொருள்களில் குறைந்த-நிலை செயல்பாட்டிற்கான பொருள் |
| Proxy | கட்டுப்பாட்டு செயல்பாடுகளுக்கு மற்ற பொருள்களை உள்ளடக்கிய பொருள் |
Math அம்சங்கள்
| அம்சம் | விளக்கம் |
|---|---|
| Math.trunc(x) | x இன் முழு எண் பகுதியை வழங்குகிறது |
| Math.sign(x) | x எதிர்மறை, null அல்லது நேர்மறையாக இருந்தால் -1, 0 அல்லது 1 ஐ வழங்குகிறது |
| Math.cbrt(x) | x இன் கன மூலத்தை வழங்குகிறது |
| Math.log2(x) | x இன் அடிப்படை 2 மடக்கையை வழங்குகிறது |
| Math.log10(x) | x இன் அடிப்படை 10 மடக்கையை வழங்குகிறது |
Number அம்சங்கள்
| அம்சம் | விளக்கம் |
|---|---|
| Number.EPSILON | 1 மற்றும் 1 ஐ விட பெரிய சிறிய எண்ணுக்கு இடையே உள்ள வித்தியாசம் |
| Number.MIN_SAFE_INTEGER | துல்லியமாக குறிப்பிடக்கூடிய குறைந்தபட்ச மதிப்பு |
| Number.MAX_SAFE_INTEGER | துல்லியமாக குறிப்பிடக்கூடிய அதிகபட்ச மதிப்பு |
| Number.isInteger() | வாதம் ஒரு முழு எண்ணாக இருந்தால் true ஐ வழங்குகிறது |
| Number.isSafeInteger() | வாதம் பாதுகாப்பான முழு எண்ணாக இருந்தால் true ஐ வழங்குகிறது |
உலாவி ஆதரவு
JavaScript 2015 ஜூன் 2017 முதல் அனைத்து நவீன உலாவிகளிலும் ஆதரிக்கப்படுகிறது:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 51 | 15 | 54 | 10 | 38 |
| மே 2016 | ஏப்ரல் 2017 | ஜூன் 2017 | செப்டம்பர் 2016 | ஜூன் 2016 |
முக்கிய குறிப்பு:
ES6 இன்டர்நெட் எக்ஸ்ப்ளோரரில் ஆதரிக்கப்படவில்லை.
JavaScript let
let keyword தொகுதி நோக்கத்துடன் ஒரு மாறியை அறிவிக்க உங்களை அனுமதிக்கிறது.
எடுத்துக்காட்டு
var x = 10;
// Here x is 10
{
let x = 2;
// Here x is 2
}
// Here x is 10
JavaScript const
const keyword நிலையான (நிலையான மதிப்புடன் கூடிய JavaScript மாறி) ஒன்றை அறிவிக்க உங்களை அனுமதிக்கிறது.
நிலையானவை let மாறிகள் போன்றவை, மதிப்பை மாற்ற முடியாது என்பதைத் தவிர.
எடுத்துக்காட்டு
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
Arrow Functions
அம்பு செயல்பாடுகள் செயல்பாடு வெளிப்பாடுகளை எழுதுவதற்கான குறுகிய தொடரியல் ஆகும்.
உங்களுக்கு function keyword, return keyword அல்லது சுருள் அடைப்புக்குறிகள் தேவையில்லை.
அம்புக்கு முன்:
let myFunction = function(a, b) {
return a * b;
}
அம்புடன்:
let myFunction = (a, b) => a * b;
கவனிக்க:
அம்பு செயல்பாடுகளுக்கு அவற்றின் சொந்த this இல்லை. பொருள் முறைகளை வரையறுப்பதற்கு அவை நன்கு பொருத்தமாக இல்லை.
அம்பு செயல்பாடுகள் உயர்த்தப்படாது. அவை பயன்படுத்தப்படுவதற்கு முன் வரையறுக்கப்பட வேண்டும்.
செயல்பாடு ஒற்றை அறிக்கையாக இருந்தால் மட்டுமே return keyword மற்றும் சுருள் அடைப்புக்குறிகளை தவிர்க்கலாம்.
பரவல் (...) ஆபரேட்டர்
... ஆபரேட்டர் ஒரு வரிசை அல்லது மீண்டும் மீண்டும் செய்யக்கூடியதை தனிப்பட்ட கூறுகளாக பரவச் செய்கிறது.
எடுத்துக்காட்டு
... ஆபரேட்டர் ஒரு செயல்பாட்டிற்கு வாதங்களை அனுப்பலாம்:
const numbers = [23,55,21,87,56];
let minValue = Math.min(...numbers);
let maxValue = Math.max(...numbers);
... ஆபரேட்டர் வரிசைகளை இணைக்க பயன்படுத்தலாம்:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
For/Of Loop
JavaScript for/of அறிக்கை மீண்டும் மீண்டும் செய்யக்கூடிய பொருள்களின் மதிப்புகள் வழியாக சுழல்கிறது.
for/of மீண்டும் மீண்டும் செய்யக்கூடிய தரவு கட்டமைப்புகளின் மீது சுழல அனுமதிக்கிறது, அவை வரிசைகள், சரங்கள், வரைபடங்கள், NodeLists மற்றும் பல.
தொடரியல்
for (variable of iterable) {
// code block to be executed
}
வரிசையில் சுழலும்
const cars = ["BMW", "Volvo", "Mini"];
let text = "";
for (let x of cars) {
text += x + " ";
}
JavaScript Classes
JavaScript வகுப்புகள் JavaScript பொருள்களுக்கான வார்ப்புருக்கள்.
வகுப்பை உருவாக்க class keyword ஐப் பயன்படுத்தவும்.
எப்போதும் constructor() எனப்படும் ஒரு முறையைச் சேர்க்கவும்:
தொடரியல்
class ClassName {
constructor() { ... }
}
எடுத்துக்காட்டு
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
JavaScript Promises
JavaScript Promise என்பது அசிங்க்ரோனஸ் செயல்பாட்டின் முடிவு அல்லது தோல்வி மற்றும் அதன் மதிப்புகளைக் குறிக்கும் ஒரு பொருள்.
இது இன்னும் கிடைக்காத ஒரு மதிப்பிற்கான ஒரு இடத்திற்கு பெயர், அசிங்க்ரோனஸ் குறியீட்டைக் கையாள ஒரு கட்டமைக்கப்பட்ட வழியை வழங்குகிறது.
தொடரியல்
const myPromise = new Promise(function(myResolve, myReject) {
// "Producing Code" (May take some time)
myResolve(); // when successful
myReject(); // when error
});
// "Consuming Code" (Must wait for a fulfilled Promise).
myPromise.then(
function(value) { /* code if successful */ },
function(error) { /* code if some error */ }
);
JavaScript 2015 (ES6) பயிற்சி
ES6 இல் கற்றுக்கொண்ட அம்சங்களைச் சோதிக்க இந்தப் பயிற்சியை முயற்சிக்கவும்.