Я пытался выяснить очень странную проблему, с которой я столкнулся с typescript. Он обрабатывал встроенное булево выражение как любое первое значение типа вместо полного выражения.
Итак, если вы попробуете что-то простое, например следующее:
var numericArray:Array<number> = [2,3,4,1,5,8,11];
var sorrtedArray:Array<number> = numericArray.sort((n1,n2)=> n1 > n2);
Вы получите сообщение об ошибке в вашем методе сортировки, указав, что параметры не соответствуют какой-либо сигнатуре целевой цели, потому что ваш результат является числовым, а не логическим. Я предполагаю, что у меня что-то не хватает, но я уверен, что n1 > n2 является логическим выражением.