Amir Mirkamali
Amir Mirkamali
خواندن ۱ دقیقه·۳ ماه پیش

مشکل عدم نمایش درست Typeهای ترکیبی Typescript در هنگام استفاده در VSCode


یک نکته‌ی جالبی در تعریف تایپ‌ها در typescript برخوردم که گفتم اینجا هم یک یادداشتی برای آن بنویسم.

وقتی که یک type تعریف می کنید که این تایپ، چند مقدار ثابت به همراه یک تایپ عمومی باشد، هنگام autocomplete در ادیتور فقط تایپ عمومی را می آورد.

همیشه برای من سوال بود که چرا وقتی من از این مدل type ها تعریف میکنم، مقادیر ثابت را در هنگام استفاده نمی آورد.

با یک مثال توضیح می دهم:
فرض کنیم، تایپی که من تعریف می کنم چیزی شبیه این باشد:

type Variants = 'h1' | 'h2' | string ;

یعنی variant می تواند h1 یا h2 یا یک string باشد. اما متاسفانه چیزی که در موقع استفاده می بینیم چیزی شبیه این است:

می بینید که h1 و h2 را نمی آورد. برای حل این مساله، باید تایپ را به صورت زیر تعریف کنید:

type Variants = 'h1' | 'h2' | (string & {});

و خروجی شما درست خواهد شد.

می بینید که h1 و h2 را اینبار می آورد.


عدم نمایش درست Typeهای ترکیبیtypescriptvscode
مطالبی که اینجا می‌نویسم مواردی است که گهگاه برای خودم پیش آمده است و بیشتر حالت روزمره دارد.
شاید از این پست‌ها خوشتان بیاید