از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
انتقال توابع به عنوان پارامتر در TypeScript
سرفصلهای مطلب
معرفی
در TypeScript، توابع شهروندان درجه یک هستند، به این معنی که می توان آنها را به متغیرها اختصاص داد، در ساختارهای داده ذخیره کرد و حتی به عنوان پارامتر به سایر توابع ارسال کرد.
این بایت روش انتقال توابع به عنوان پارامتر در TypeScript را بررسی می کند، در مورد نام مستعار نوع برای توابع بحث می کند و روش بررسی انواع تابع با typeof
کلمه کلیدی.
عبور توابع به عنوان پارامتر
در تایپ اسکریپت، میتوانید یک تابع را بهعنوان پارامتر به تابع دیگری مانند هر متغیر دیگری ارسال کنید. این انعطاف پذیری زیادی را در کد شما فراهم می کند. ما این را به صورت کال بک زیاد می بینیم.
در اینجا یک مثال ساده است:
function greet(name: string): string {
return `Hello, ${name}!`;
}
function processGreeting(name: string, fn: (a: string) => string): string {
return fn(name);
}
console.log(processGreeting("rasanegar", greet)); // Outputs: Hello, rasanegar!
در مثال بالا، processGreeting()
تابعی است که یک رشته و یک تابع را به عنوان پارامتر می پذیرد. تابع گذشت fn
یک رشته را به عنوان پارامتر می گیرد و یک رشته را برمی گرداند.
نام مستعار را برای توابع تایپ کنید
TypeScript یک ویژگی به نام “type Aliasing” را ارائه می دهد که به شما امکان می دهد یک نام جدید برای یک نوع ایجاد کنید. این می تواند هنگام برخورد با انواع پیچیده مانند توابع مفید باشد. در اینجا روش ایجاد یک نام مستعار نوع برای یک تابع آورده شده است:
type GreetingFunction = (a: string) => string;
function greet(name: string): GreetingFunction {
return `Hello, ${name}!`;
}
function processGreeting(name: string, fn: GreetingFunction): string {
return fn(name);
}
console.log(processGreeting("rasanegar", greet)); // Outputs: Hello, rasanegar!
در مثال بالا، GreetingFunction
یک نوع نام مستعار برای تابعی است که یک پارامتر رشته را می گیرد و یک رشته را برمی گرداند. این باعث می شود کد خواناتر و مدیریت آن آسان تر شود.
استنتاج نوع تابع با نوعی از
TypeScript می تواند به طور خودکار نوع یک تابع را با استفاده از عبارت استنباط کند typeof
کلمه کلیدی. این می تواند زمانی مفید باشد که می خواهید تابعی را به عنوان پارامتر ارسال کنید اما نمی خواهید نوع آن را به صراحت تعریف کنید:
function greet(name: string): string {
return `Hello, ${name}!`;
}
function processGreeting(name: string, fn: typeof greet): string {
return fn(name);
}
console.log(processGreeting("rasanegar", greet)); // Outputs: Hello, rasanegar!
در اینجا، نوع از fn
پارامتر در processGreeting
تابع استنباط می شود که همان نوع است greet
عملکرد با استفاده از typeof
کلمه کلیدی.
نتیجه
در این بایت، روش انتقال توابع به عنوان پارامتر در TypeScript، روش استفاده از نوع مستعار برای توابع، و روش استنتاج انواع تابع با typeof
کلمه کلیدی. این تکنیکها میتوانند به انعطافپذیری، خواندن و نگهداری کد TypeScript شما کمک کنند.
منتشر شده در 1403-01-01 05:10:08