Кажется, я понимаю зачем в имени функции используются угловые скобки, но хотел бы убедиться, что я не ошибаюсь. Есть следующий код:
function identity<T>(arg: T): T {
return arg;
}
let numberOutput = identity<Number>(1);
console.log(numberOutput); // выведет "1"
Функция identity принимает число и возвращает число. При этом угловые скобки служат сигналом компилятору о том, что функция принимает именно число.
Таким образом, если в программе есть следующий вызов функции
identity('qwerty')
,то ошибку программист заметит на этапе компиляции, а не во время выполнения.
Если бы угловые скобки не использовались:
function identity<T>(arg: T): T {
return arg;
}
let numberOutput = identity(1);
console.log(numberOutput);
,то программист заметил бы ошибку только на этапе выполнения.
Я правильно понимаю назначение угловых скобок, не напутал ничего?