92 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Logical Operators
 | |
| localeTitle: العوامل المنطقية
 | |
| ---
 | |
| # العوامل المنطقية
 | |
| 
 | |
| تقارن المعاملات المنطقية القيم المنطقية وترجع استجابة منطقية. هناك نوعان من عوامل التشغيل المنطقية - منطقي AND و OR المنطقية. غالبًا ما يتم كتابة هؤلاء المشغلين كـ && لـ AND و || لـ OR.
 | |
| 
 | |
| #### منطقي و (&&)
 | |
| 
 | |
| عامل التشغيل AND يقارن بين تعبيرين. إذا كان التقييم الأول هو ["truthy"](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) ، [فستعرض](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) العبارة قيمة التعبير الثاني. إذا كان التقييم الأول هو ["falsy"](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) ، [فستعرض](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) العبارة قيمة التعبير الأول.
 | |
| 
 | |
| عند تضمين قيم منطقية فقط (سواء كانت `true` أو `false` ) ، فإنها ترجع true فقط إذا كان كلا التعبيرين صحيحين. إذا كان تعبير واحد أو كلاهما غير صحيح ، فستظهر العبارة بالكامل false.
 | |
| 
 | |
|  `true && true //returns  the second value, true 
 | |
|  true && false //returns the second value, false 
 | |
|  false && false //returns the first value, false 
 | |
|  123 && 'abc' // returns the second value, 'abc' 
 | |
|  'abc' && null //returns the second value, null 
 | |
|  undefined && 'abc' //returns the first value, undefined 
 | |
|  0 && false //returns the first value, 0 
 | |
| ` 
 | |
| 
 | |
| #### منطقية أو (||
 | |
| 
 | |
| عامل التشغيل OR يقارن بين تعبيرين. إذا كان التقييم الأول هو "falsy" ، فستعرض العبارة قيمة التعبير الثاني الثاني. إذا كان التقييم الأول هو "صوابي" ، فستعرض العبارة قيمة التعبير الأول.
 | |
| 
 | |
| عند تضمين قيم منطقية فقط (سواء كانت `true` أو `false` ) ، فإنها ترجع true إذا كان التعبير صحيحًا. يمكن أن يكون كلا التعبيرين صحيحًا ، لكن هناك حاجة إلى تعبير واحد فقط للحصول على النتيجة الحقيقية.
 | |
| 
 | |
|  `true || true //returns the first value, true 
 | |
|  true || false //returns the first value, true 
 | |
|  false || false //returns the second value, false 
 | |
|  123 || 'abc' // returns the first value, 123 
 | |
|  'abc' || null //returns the first value, 'abc' 
 | |
|  undefined || 'abc' //returns the second value, 'abc' 
 | |
|  0 || false //returns the second value, false 
 | |
| ` 
 | |
| 
 | |
| #### تقييم دائرة قصر
 | |
| 
 | |
| && و || تتصرف كمشغلي ماس كهربائى.
 | |
| 
 | |
| في حالة AND المنطقية ، إذا كان المعامل الأول يرجع خطأ ، لا يتم تقييم المعامل الثاني ويتم إرجاع المعامل الأول.
 | |
| 
 | |
| في حالة OR المنطقية ، إذا كانت القيمة الأولى ترجع true ، فلن يتم تقييم القيمة الثانية أبداً ويتم إرجاع المعامل الأول.
 | |
| 
 | |
| #### منطقي NOT (!)
 | |
| 
 | |
| لا يقوم المشغل NOT بعمل أي مقارنة مثل مشغلي AND و OR.More يتم تشغيله فقط على 1 معامل.
 | |
| 
 | |
| و "!" (علامة تعجب) يستخدم لتمثيل عامل التشغيل NOT.
 | |
| 
 | |
| ###### استخدام المشغلين NOT
 | |
| 
 | |
| 1.  تحويل التعبير إلى منطقي.
 | |
| 2.  إرجاع معكوس القيمة المنطقية التي تم الحصول عليها في الخطوة الأخيرة.
 | |
| 
 | |
|  `var spam = 'rinki'; //spam may be equal to any non empty string 
 | |
|  var booSpam = !spam; 
 | |
|  /*returns false 
 | |
|   since when a non-empty string when converted to boolean returns true 
 | |
|   inverse of which is evaluated to false. 
 | |
|  */ 
 | |
|  
 | |
|  var spam2 = ''; //spam2 here is equal to empty string 
 | |
|  var booSpam2 = !spam2; 
 | |
|  /*returns true 
 | |
|   since when a empty string when converted to boolean returns false 
 | |
|   inverse of which is evaluated to true. 
 | |
|  */ 
 | |
| ` 
 | |
| 
 | |
| #### نصائح:
 | |
| 
 | |
| كلا المشغلين المنطقيين سيعودون قيمة آخر تعبير تم تقييمه. فمثلا:
 | |
| 
 | |
|  `"cat" && "dog" //returns "dog" 
 | |
|  "cat" && false //returns false 
 | |
|  0 && "cat"  //returns 0 (which is a falsy value) 
 | |
|  
 | |
|  "cat" || "dog" //returns "cat" 
 | |
|  "cat" || false //returns "cat" 
 | |
|  0 || "cat" //returns "cat" 
 | |
| ` 
 | |
| 
 | |
| لاحظ أن where `&&` تُرجع القيمة الأولى ، `||` يعيد القيمة الثانية والعكس صحيح.
 | |
| 
 | |
| #### معلومات اكثر:
 | |
| 
 | |
| *   [جدول جافا سكريبت الحقيقة](https://guide.freecodecamp.org/javascript/truth-table)
 | |
|     
 | |
| *   [MDN](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Logical_Operators) |