В чем разница между определением типов для функции стрелки этими двумя способами?

#typescript #types #arrow-functions

#typescript #типы #функции со стрелками

Вопрос:

Я смущен тем, в чем разница между этими двумя следующими типами фиктивной функции стрелки. Может кто-нибудь, пожалуйста, указать на разницу?

 const hello = (i: string):string => { return "Hi, User!" }
  

и

 const hello: string = (i: string) => { return "Hi, User!" }
  

Комментарии:

1. Один допустим, а другой выдает ошибку. Вы пытались сначала скомпилировать свой код?

Ответ №1:

ошибка при сбросе второй функции!

 [yours]
1. const hello = (i: string):string => { return "Hi, User!" } // correct

2. const hello: string = (i: string) => { return "Hi, User!" } // error
  

Потому что тип функции hello не является строковым.

тип приветственной функции «(i: string) => string».

 [correct]
const hello: (i:string) => string = (i: string) => { return "Hi, User!" }