إصدار TypeScript: 2.0.3 / nightly (2.1.0-dev.201xxxxx)
شفرة
// A *self-contained* demonstration of the problem follows...
const fn_prim = () => 3;
const fn_obj = () => {
val: 3
};
سلوك متوقع:
أتوقع أن يتم تجميعها بشكل جيد. يجب أن يُرجع fn_prim
3 عند الاتصال به ، ويجب أن يُرجع fn_obj
{ val: 3 }
عند الاستدعاء.
السلوك الفعلي:
خطأ "تسمية غير مستخدمة" في val:
يتبع TypeScript مواصفات ES ولكل المواصفات ، فإن المثال الثاني الخاص بك هو دالة سهم حيث يكون الجسم عبارة عن جسم دالة ملفوفًا في {
}
لذلك يتم تفسير val: 3
على أنه عبارة معنونة بعلامة val
وبيان التعبير مع التعبير 3
. من أجل جعلها دالة سهم تُرجع كائنًا حَرفيًا ، ستحتاج إلى لفها في أقواس:
const fn_obj = () => ({
val: 3
});
ارتباط ذو صلة: MDN: وظائف الأسهم ، القسم Returning object literals
التعليق الأكثر فائدة
يتبع TypeScript مواصفات ES ولكل المواصفات ، فإن المثال الثاني الخاص بك هو دالة سهم حيث يكون الجسم عبارة عن جسم دالة ملفوفًا في
{
}
لذلك يتم تفسيرval: 3
على أنه عبارة معنونة بعلامةval
وبيان التعبير مع التعبير3
. من أجل جعلها دالة سهم تُرجع كائنًا حَرفيًا ، ستحتاج إلى لفها في أقواس:ارتباط ذو صلة: MDN: وظائف الأسهم ، القسم
Returning object literals