1.38.0clamp
یک عدد را در یک بازه مشخص و شامل دو کران حداقل و حداکثر محدود میکند.
clamp(value, min, max):numberپارامترها
valuenumberالزامیعددی که باید در بازه مشخصشده محدود شود.
minnumberالزامیکمترین مقدار مجاز.
maxnumberالزامیبیشترین مقدار مجاز.
مقدار بازگشتی
numberمقدار را در بازه شامل min و max محدودشده برمیگرداند.
خطاها
اگر value برابر NaN باشد، یک RangeError ایجاد میکند.
اگر min یا max برابر NaN باشد، یک RangeError ایجاد میکند.
اگر min بزرگتر از max باشد، یک RangeError ایجاد میکند.
مثالها
استفاده پایه
مقداری که داخل بازه باشد بدون تغییر برگردانده میشود.
console.log(clamp(5, 0, 10));
// 5مقدار کمتر از حداقل
مقادیر کمتر از min با خود min جایگزین میشوند.
console.log(clamp(-5, 0, 10));
// 0مقدار بیشتر از حداکثر
مقادیر بیشتر از max با خود max جایگزین میشوند.
console.log(clamp(15, 0, 10));
// 10مقادیر مرزی
خود مقادیر حداقل و حداکثر نیز مجاز هستند.
console.log(clamp(0, 0, 10));
// 0
console.log(clamp(10, 0, 10));
// 10بازه منفی
clamp با بازههایی که شامل اعداد منفی هستند نیز کار میکند.
console.log(clamp(-15, -10, -5));
// -10
console.log(clamp(-7, -10, -5));
// -7
console.log(clamp(-2, -10, -5));
// -5برابر بودن حداقل و حداکثر
وقتی min و max برابر باشند، نتیجه همیشه همان مقدار خواهد بود.
console.log(clamp(5, 10, 10));
// 10
console.log(clamp(20, 10, 10));
// 10مقدار NaN
مقدار NaN با RangeError رد میشود.
clamp(NaN, 0, 10);
// RangeError: clamp: value must not be NaNبازه نامعتبر
تابع بازهای را که min آن بزرگتر از max باشد رد میکند.
clamp(5, 10, 0);
// RangeError: clamp: min must be less than or equal to max