63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Arrow Functions
 | |
| localeTitle: وظائف السهم
 | |
| ---
 | |
| وظائف Arrow هي بنية ES6 جديدة لكتابة تعبيرات دالة JavaScript. يوفر بناء الجملة الأقصر الوقت ، فضلاً عن تبسيط نطاق الوظائف.
 | |
| 
 | |
| ## ما هي وظائف السهم؟
 | |
| 
 | |
| تعبير دالة السهم هو صيغة موجزة أكثر لكتابة تعبيرات الدالة باستخدام الرمز المميز "fat fat" ( `=>` ).
 | |
| 
 | |
| ### التركيب الأساسي
 | |
| 
 | |
| فيما يلي مثال أساسي لوظيفة السهم:
 | |
| 
 | |
|  `// ES5 syntax 
 | |
|  var multiply = function(x, y) { 
 | |
|   return x * y; 
 | |
|  }; 
 | |
|  
 | |
|  // ES6 arrow function 
 | |
|  var multiply = (x, y) => { return x * y; }; 
 | |
|  
 | |
|  // Or even simpler 
 | |
|  var multiply = (x, y) => x * y; 
 | |
| ` 
 | |
| 
 | |
| لم تعد تحتاج إلى `function` `return` الكلمات الرئيسية ، أو حتى الأقواس المتعرجة.
 | |
| 
 | |
| ### تبسيط `this`
 | |
| 
 | |
| قبل ظائف السهم، حددت وظائف جديدة خاصة بهم `this` القيمة. لاستخدام `this` داخل تعبير دالة تقليدي ، يجب علينا كتابة حل بديل مثل:
 | |
| 
 | |
|  ``// ES5 syntax 
 | |
|  function Person() { 
 | |
|   // we assign `this` to `self` so we can use it later 
 | |
|   var self = this; 
 | |
|   self.age = 0; 
 | |
|  
 | |
|   setInterval(function growUp() { 
 | |
|     // `self` refers to the expected object 
 | |
|     self.age++; 
 | |
|   }, 1000); 
 | |
|  } 
 | |
| `` 
 | |
| 
 | |
| لا تحدد وظيفة السهم `this` القيمة الخاصة به ، بل إنها تكتسب `this` من وظيفة الإحاطة:
 | |
| 
 | |
|  ``// ES6 syntax 
 | |
|  function Person(){ 
 | |
|   this.age = 0; 
 | |
|  
 | |
|   setInterval(() => { 
 | |
|     // `this` now refers to the Person object, brilliant! 
 | |
|     this.age++; 
 | |
|   }, 1000); 
 | |
|  } 
 | |
|  
 | |
|  var p = new Person(); 
 | |
| `` 
 | |
| 
 | |
| #### قراءة متعمقة
 | |
| 
 | |
| [وصلة MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) |