The Conditional (Ternary) Operator
நிபந்தனை ஆபரேட்டர் என்பது நிபந்தனை if...else அறிக்கைகளை எழுதுவதற்கான ஒரு சுருக்கமான வழியாகும்.
இது மூன்று செயலிகள் (operands) எடுப்பதால் டெர்னரி ஆபரேட்டர் என்று அழைக்கப்படுகிறது.
Example 1: Age Check
வயதின் மதிப்பு < 18 எனில், text இன் மதிப்பை "Minor" என அமைக்கவும், இல்லையெனில் "Adult":
let text = (age < 18) ? "Minor" : "Adult";
Ternary Version
let text = (age < 18) ? "Minor" : "Adult";
Equivalent if...else
let text;
if (age < 18) {
text = "Minor";
} else {
text = "Adult";
}
Example 2: Member Discount
Member (true)
let isMember = true;
let discount = isMember ? 0.2 : 0;
Result: discount = 0.2 (20% discount)
Non-Member (false)
let isMember = false;
let discount = isMember ? 0.2 : 0;
Result: discount = 0 (no discount)
Syntax
(condition) ? expression1 : expression2
குறிப்பு:
நிபந்தனை (ternary) ஆபரேட்டர் மூன்று செயலிகள் எடுக்கும் ஒரே JavaScript ஆபரேட்டர் ஆகும்.
Parameters
| Parameter | Description |
|---|---|
| condition | தேவைப்படுகிறது. சோதிக்கப்பட வேண்டிய நிபந்தனை. உண்மை அல்லது பொய் என மதிப்பீடு செய்யும் வெளிப்பாடு. |
| ? | தேவைப்படுகிறது. நிபந்தனையை வெளிப்பாடுகளிலிருந்து பிரிக்கும் ஆபரேட்டர். |
| expression1 | தேவைப்படுகிறது. நிபந்தனை உண்மையாக இருந்தால் திரும்ப வேண்டிய மதிப்பு. |
| : | தேவைப்படுகிறது. வெளிப்பாடுகளை பிரிக்கும் ஆபரேட்டர். |
| expression2 | தேவைப்படுகிறது. நிபந்தனை பொய்யாக இருந்தால் திரும்ப வேண்டிய மதிப்பு. |
More Examples
Ternary Operator
// Check if number is even or odd
let number = 7;
let type = (number % 2 === 0) ? "Even" : "Odd";
// Find maximum of two numbers
let a = 5, b = 10;
let max = (a > b) ? a : b;
// Simple login check
let isLoggedIn = true;
let message = isLoggedIn ? "Welcome back!" : "Please login";
Equivalent if...else
// Check if number is even or odd
let number = 7;
let type;
if (number % 2 === 0) {
type = "Even";
} else {
type = "Odd";
}
// Find maximum of two numbers
let a = 5, b = 10;
let max;
if (a > b) {
max = a;
} else {
max = b;
}
// Simple login check
let isLoggedIn = true;
let message;
if (isLoggedIn) {
message = "Welcome back!";
} else {
message = "Please login";
}
சிறந்த நடைமுறை:
டெர்னரி ஆபரேட்டர் எளிய if...else நிபந்தனைகளுக்கு சிறந்தது. சிக்கலான தர்க்கம் அல்லது பல வரிகளுக்கு வழக்கமான if...else அறிக்கைகளைப் பயன்படுத்தவும்.
Browser Support
() ? x : y என்பது ES1 அம்சமாகும் (JavaScript 1997).
| Browser | Support |
|---|---|
| Chrome | Yes |
| Internet Explorer | Yes |
| Edge | Yes |
| Firefox | Yes |
| Safari | Yes |
| Opera | Yes |
இது அனைத்து உலாவிகளிலும் முழுமையாக ஆதரிக்கப்படுகிறது.
Exercise
பின்வரும் டெர்னரி ஆபரேட்டர் வெளிப்பாட்டின் விளைவாக 'status' மாறியின் மதிப்பு என்னவாக இருக்கும்?
let score = 75;
let status = (score >= 60) ? "Pass" : "Fail";