يمكن لـ ES6 استخدام "السهم" (=>) لتحديد الوظائف. لاحظ أنها وظائف ، ولا تستخدم هذه الطريقة لتحديد الفئات (المُنشئين).
1. بناء الجملة
1. وظيفة بسيطة مع معلمة واحدة
var single = a => asingle ('hello ، world') // 'hello ، world'2. إذا لم تكن هناك معلمات ، فأنت بحاجة إلى استخدام قوسين قبل السهم.
var log = () => {Alert ('no param')}3. تتطلب المعلمات المتعددة قوسين ، وفواصل فواصل بين المعلمات ، مثل إضافة رقمين
var add = (a ، b) => a + badd (3 ، 8) // 11
4. مطلوب أقواس مجعد لبيانات متعددة في جسم الوظيفة
var add = (a ، b) => {if (typeof a == 'number' && typeof b == 'number') {return a + b} else {return 0}}5. عند إرجاع الكائن ، تحتاج إلى لفه بين قوسين ، لأن الأقواس مشغولة وتفسيرها على أنها كتل رمز.
var gethash = arr => {// ... return ({name: 'jack' ، age: 33})}6. مباشرة كمعالج الأحداث
document.addeventListener ('Click' ، ev => {console.log (ev)})7. فرز رد الاتصال كصفيف
VAR ARR = [1 ، 9 ، 2 ، 4 ، 3 ، 8]
2. انتبه
1. مشغل typeof هو نفس الوظيفة العادية
var func = a => aconsole.log (typeof func) ؛ // "وظيفة"
2. مثيل ESOT يعود أيضًا بشكل صحيح ، مما يشير إلى أنه أيضًا مثيل للوظيفة
console.log (func مثيل وظيفة) ؛ // حقيقي
3. هذا ثابت ، لم يعد قابل للتغيير
obj = {data: ['John Backus' ، 'John Hopcroft'] ، init: function () {document.onclick = ev => {alert (this.data) // ['John Backus' ، 'John Hopcroft']} // nonarrow function // document.onclick = ev) هذا مفيد للغاية ، لم يعد بحاجة إلى me ، أو self ، _this ، أو bind .
4. لا يمكن استخدام وظيفة السهم مع جديد
var person = (الاسم ، العمر) => {this.name = اسم this.age = age} var p = new func ('John' ، 33) // error5. لا يمكن استخدام الحجة
var func = () => {console.log (الوسائط)} func (55) //بالنسبة لـ 5 ، يمكن للاختبار في Firefox36 إخراج 55 ، ويبدو أنه لا يوجد حد.
3. ملخص
ما سبق هو المقدمة الكاملة لوظيفة السهم في ES6. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لمناقشة.