تابع/از نسخه
1.38.0pipe
تابعی ایجاد میکند که یک مقدار را بهترتیب از چند تابع، از چپ به راست، عبور میدهد.
pipe(functions):(value: T) => Tپارامترها
functionsArray<(value: T) => T>اختیاریتوابعی که بهترتیب از چپ به راست اجرا میشوند. هر تابع نتیجه تابع قبلی را دریافت میکند.
مقدار بازگشتی
(value: T) => Tتابعی را برمیگرداند که مقدار ورودی را بهترتیب از تمام توابع دادهشده عبور میدهد.
مثالها
01
استفاده پایه
توابع از چپ به راست اجرا میشوند.
TypeScript
const addTen = (value: number) => value + 10;
const double = (value: number) => value * 2;
const transform = pipe(addTen, double);
console.log(transform(5));
// 3002
ترتیب اجرا
نتیجه هر تابع بهعنوان ورودی تابع بعدی استفاده میشود.
TypeScript
const addTen = (value: number) => value + 10;
const multiplyByTwo = (value: number) => value * 2;
const subtractFive = (value: number) => value - 5;
const transform = pipe(
addTen,
multiplyByTwo,
subtractFive,
);
console.log(transform(5));
// 25
// 5 -> 15 -> 30 -> 2503
تغییر رشته
میتوان از pipe برای زنجیره کردن چند تغییر روی رشته استفاده کرد.
TypeScript
const trim = (value: string) => value.trim();
const toLowerCase = (value: string) => value.toLowerCase();
const addPrefix = (value: string) => `user:${value}`;
const normalize = pipe(
trim,
toLowerCase,
addPrefix,
);
console.log(normalize(" AMIR "));
// user:amir04
چند تابع
میتوان هر تعداد تابع سازگار را به pipe ارسال کرد.
TypeScript
const increment = (value: number) => value + 1;
const double = (value: number) => value * 2;
const square = (value: number) => value * value;
const transform = pipe(
increment,
double,
square,
);
console.log(transform(2));
// 3605
بدون تابع
اگر هیچ تابعی داده نشود، تابع برگشتی همان مقدار ورودی را بدون تغییر برمیگرداند.
TypeScript
const identity = pipe<number>();
console.log(identity(42));
// 4206
یک تابع
میتوان تنها یک تابع را نیز ارسال کرد تا مستقیماً روی ورودی اجرا شود.
TypeScript
const double = (value: number) => value * 2;
const transform = pipe(double);
console.log(transform(5));
// 10ساخته شده با@cyref/js·مستندات رسمی