سادهترین نحو برای یک تابع لامبدا در تایپاسکریپت که یک شیء لغتنامهای برمیگرداند
تابع جاوااسکریپت را در نظر بگیرید:
function(o) { return o.a; }
در تایپاسکریپت، کوتاهنویسی زیر معادل است:
o => o.a
آیا راهی وجود دارد که این نوشتار کوتاه را به تابع زیر اعمال کنیم؟
function(o) { return { a: o.a, b: o.b }; }
تبدیل واضح کار نمیکند زیرا آکولاد باز ({) بهعنوان نشاندهنده نیاز به یک بلوک تفسیر میشود:
o => { a: o.a, b: o.b } // doesn't work
o => { return { a: o.a, b: o.b }; } // works
پاسخ شماره ۱
هیچ راهی وجود ندارد تا دستور زبان در این زمینه { را به عنوان یک شیء لغوی به جای بلوک دستور تفسیر کند، اما میتوانید از پرانتزها استفاده کنید تا مجبور شود که به عنوان یک عبارت تفسیر شود:
var x = (t) => ({ n: t });
