Класс Calculator имплементируется от ICalculator, где описаны все методы и их типы, стоит ли повторно это делать для параметров методов класса ? Если уберу, то в метод можно будет передать любой тип. Подскажите пожалуйста, как правильно написать, только начал изучать TypeScript
interface ICalculator {
add(num: number): number;
subtract(num: number): number;
multiply(num: number): number;
divide(num: number): number;
print(): void;
}
class Calculator implements ICalculator {
protected _res: number = 0;
add(num: number) {
return this._res = num + this._res ;
}
subtract(num: number) {
return this._res = this._res - num;
}
multiply(num: number) {
return this._res = num * this._res;
}
divide(num: number) {
return this._res = this._res / num;
}
print(): void {
console.log(`Currently value: ${this._res}`);
}
}
let myCalc = new Calculator();
myCalc.add(260);
myCalc.subtract(12);
myCalc.multiply(12);
myCalc.divide(2);
myCalc.print();
Делать это не обязательно.
Однако, если нужна проверка типов, в случае не указания типов параметров в самом классе, придется явно указывать интерфейс в качестве типа переменной:
let myCalc:ICalculator = new Calculator();
В этом случае, при попытке вызвать метод с несоответствующим типом параметра будет ошибка.
Пример на playground
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На данный вопрос уже ответили:
как сделать так, чтобы была проверка на то, что в url есть "?rid=1" например
Есть input, необходимо при его изменении что-то делать, например изменять значение переменной(знаю как), либо (это для меня сложное) изменять...