عملگر شرطی

عملگر شرطی (?:) در جاوااسکریپت مانند دستور شرطی if…else عمل می‌کند. در زیر نحوه استفاده از این عملگر آمده است:

<condition> ? <result if true> : <result if false>

عملگر شرطی تنها عملگر سه تایی جاوااسکریپت است که نیاز به سه عملوند دارد، شرط، یک مقدار زمانی که شرط درست باشد و یک مقدار زمانی که شرط نادرست باشد. اجازه بدهید که نحوه استفاده این عملگر را در داخل برنامه مورد بررسی قرار دهیم.

 1: var pet1 = "puppy";
 2: var pet2 = "kitten";
 3: var type1;
 4: var type2;
 5: 
 6: type1 = (pet1 == "puppy" ) ? "dog" : "cat";
 7: type2 = (pet2 == "kitten") ? "cat" : "dog";
 8: 
 9: console.log(type1);
10: console.log(type2);
dog
cat

برنامه بالا نحوه استفاده از این عملگر شرطی را نشان می‌دهد. خط 6 به صورت زیر ترجمه می‌شود: اگر مقدار pet1 برابر با puppy سپس مقدار dog را در type1 قرار بده در غیر این صورت مقدار cat را type1 قرار بده. خط 7 به صورت زیر ترجمه می‌شود: اگر مقدار pet2 برابر با kitten سپس مقدار cat را در type2 قرار بده در غیر این صورت مقدار dog. حال برنامه بالا را با استفاده از دستور if else می‌نویسیم:

if (pet1 == "puppy")
   type1 = "dog";
else
   type1 = "cat";

هنگامی که چندین دستور در داخل یک بلوک if یا else دارید از عملگر شرطی استفاده نکنید چون خوانایی برنامه را پایین می‌آورد.