3
Я вижу этот пример в руководстве Машинопись:Машинопись - Гибридные Типы
interface Counter {
(start: number): string;
interval: number;
reset(): void;
}
var c: Counter;
c(10);
c.reset();
c.interval = 5.0;
Но когда я пытаюсь сделать c(10);
или установить c.interval = 5.0
я получаю ошибку - Не удается установить свойство «интервал» неопределенной
Я знаю, что я могу сделать:
var c: Counter;
c = function(s: number){
return "'" + s + "'";
}
Что отсутствует - (или это в полный пример)?
Update:
There is a similar question - который отвечает на этот вопрос, хотя, я все еще нахожу этот пример свернутый.
Я думаю, что эта книга говорит, что вы можете описать типы таких моделей. Например, функция, которая имеет свойства самой функции, как конструктор со статическими методами. – elclanrs
Конечно, я понимаю, но почему 'c (10)', если я действительно не могу называть 'c' таким образом. Есть промежуточный шаг, который отсутствует. –
Из того, что я понимаю, пример не предназначен для запуска. 'c' может быть любым объектом, который придерживается этого интерфейса. Это просто показывает, что вы можете это сделать. Это то, что я вижу в любом случае. – elclanrs