ஒப்பீட்டாளர்கள் (Comparators)
இப்போது நிபந்தனைப் பகுதியில் கவனம் செலுத்துவோம்:
if (country === "France") {
...
}
நிபந்தனைப் பகுதி என்பது country என்ற மாறியைத் (variable) தொடர்ந்து மூன்று சமமான குறியீடுகளைக் (===) கொண்டது. country என்ற மாறிக்கு சரியான மதிப்பும் (France) சரியான வகையும் (String) உள்ளதா என்பதை மூன்று சமமான குறியீடுகள் சோதிக்கின்றன. நீங்கள் இரண்டு சமமான குறியீடுகளுடனும் நிபந்தனைகளைச் சோதிக்கலாம், இருப்பினும் if (x == 5) போன்ற நிபந்தனை var x = 5; மற்றும் var x = "5"; ஆகிய இரண்டிற்கும் true ஐத் திரும்பப் பெறும். உங்கள் நிரல் என்ன செய்கிறது என்பதைப் பொறுத்து, இது ஒரு பெரிய வித்தியாசத்தை ஏற்படுத்தும். இரண்டிற்குப் (== மற்றும் !=) பதிலாக எப்போதும் மூன்று சமமான குறியீடுகளுடன் (=== மற்றும் !==) சமத்துவத்தை (equality) ஒப்பிட வேண்டும் என்று சிறந்த நடைமுறையாக (best practice) மிகவும் பரிந்துரைக்கப்படுகிறது.
பிற நிபந்தனை சோதனைகள்:
x > a: x ஆனது a ஐ விட பெரியதா?x < a: x ஆனது a ஐ விட சிறியதா?x <= a: x ஆனது a ஐ விட சிறியதா அல்லது சமமானதா?x >=a: x ஆனது a ஐ விட பெரியதா அல்லது சமமானதா?x != a: x ஆனது a இல்லையா?x: x உள்ளதா?
தர்க்கரீதியான ஒப்பீடு (Logical Comparison)
if-else தொந்தரவைத் தவிர்க்க, எளிய தர்க்கரீதியான ஒப்பீடுகளைப் (logical comparisons) பயன்படுத்தலாம்.
let topper = marks > 85 ? "YES" : "NO";
மேலே உள்ள எடுத்துக்காட்டில், ? ஒரு தருக்க ஆபரேட்டர் (logical operator) ஆகும். மதிப்பெண்களின் (marks) மதிப்பு 85 ஐ விட அதிகமாக இருந்தால், அதாவது marks > 85 என்றால், topper = YES; இல்லையெனில் topper = NO என்று குறியீடு கூறுகிறது. அடிப்படையில், ஒப்பீட்டு நிபந்தனை (comparison condition) உண்மையென (true) நிரூபிக்கப்பட்டால், முதல் வாதம் அணுகப்படும் மற்றும் ஒப்பீட்டு நிபந்தனை தவறானதாக (false) இருந்தால், இரண்டாவது வாதம் அணுகப்படும். இந்த சுருக்கெழுத்து ஆபரேட்டர் (shorthand operator) மூன்று செயலியக்கிகளை (operands) எடுத்துக்கொள்வதால் இது மும்மை ஆபரேட்டர் (ternary operator) என்றும் அழைக்கப்படுகிறது.
condition ? expression1 : expression2