برنامه نویسی

در مقابل هر نوع

مقاله ای که در ابتدا در اینجا منتشر شده است: https://alsohelp.com/blog/t-vs-any-in-typescript

چیزی که احتمالاً قبلاً درباره آن شنیده اید ، اما این روش من برای دیدن آن است.

مقاله زیر


این چیزی است که هنگام یادگیری TypeScript در ذهن من قرار گرفت.

هر دو معنی “می تواند هر نوع نوع باشد” ، اما یک تفاوت بزرگ وجود دارد.

شباهت های “هر” و عمومی “t”

  • هیچ کس هرگز محدود نمی شود
  • عمومی همیشه در جایی تحت محدودیت است

مثال با t عمومی

بیایید بگوییم ما روشی را می خواهیم که یک آرایه را تنها با یک عنصر برگرداند:

function oneElementArrayOf<T>(stuff: T): [T] {
  return [stuff];
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

t تحت محدودیت است : “چیزها” فقط از نوع t می توانند باشند ، و نوع بازگشت فقط می تواند مجموعه ای از t باشد

به عبارت دیگر ، اگر جایی را می بینید ، مکان دیگری وجود دارد که در آن از آن استفاده می شود ، در ARG ها یا نوع برگشتی.

مثال مشابه با هر

همان کد با هر

function oneElementArrayOf(stuff: any): [any] {
  return [43]; // valid!!
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

“هر” توسط هر چیزی محدود نمی شود. کد معتبر است (منظور من معتبر است). نه دستیابی به هدف اولیه.

خلاصه

این سریع بود ، اما امیدوارم که این کمک کند.

برای جمع بندی ،

  • “هر” به معنای “محدودیت صفر” است.
  • “T” به معنای “حداقل یک محدودیت دارد”.

امیدوارم که کمک کند!

دیوید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا