В TypeScript нам часто приходится накладывать пользовательские ограничения на числовые значения. Это может быть полезно в сценариях, где мы хотим ограничить числовое значение, чтобы оно не превышало указанного максимального значения, обозначаемого как «x». В этой статье мы рассмотрим различные методы достижения этой цели на примерах кода.
Методы:
- Условный оператор.
Один простой подход — использовать условный оператор (?:
), чтобы проверить, превышает ли число максимальное значение, и если да, то присвоить ему максимальное значение.. Вот пример:
function ensureMaxValue(value: number, max: number): number {
return value > max ? max : value;
}
const number1: number = 7;
const max1: number = 5;
const result1: number = ensureMaxValue(number1, max1);
console.log(result1); // Output: 5
- Math.min():
Другой метод — использовать функциюMath.min()
для сравнения числа с максимальным значением и возврата меньшего значения. Вот пример:
function ensureMaxValue(value: number, max: number): number {
return Math.min(value, max);
}
const number2: number = 7;
const max2: number = 5;
const result2: number = ensureMaxValue(number2, max2);
console.log(result2); // Output: 5
- Пользовательский класс:
Вы также можете создать собственный класс, который инкапсулирует число и предоставляет метод, обеспечивающий максимальное значение. Вот пример:
class CustomNumber {
private value: number;
constructor(initialValue: number) {
this.value = initialValue;
}
public getValue(): number {
return this.value;
}
public ensureMaxValue(max: number): void {
this.value = Math.min(this.value, max);
}
}
const number3: CustomNumber = new CustomNumber(7);
const max3: number = 5;
number3.ensureMaxValue(max3);
console.log(number3.getValue()); // Output: 5