Operadores: Considere o trecho de código: function f1(msg: string, num: number): number { return msg+num; } let tnum: number = 10; let tmsg: string = "10"; console.log(f1(tmsg, tnum)) Selecione a opção correta com o resultado da execução do código.
Questão
Considere o trecho de código: function f1(msg: string, num: number): number { return msg+num; } let tnum: number = 10; let tmsg: string = "10"; console.log(f1(tmsg, tnum))
Selecione a opção correta com o resultado da execução do código.
Alternativas94%
A) "1010"
B) 10
C) 20
D) "10"
E) "20"
Explicação
- A função foi declarada com retorno do tipo
number, porém a expressãomsg + numem JavaScript/TypeScript (em tempo de execução) usa o operador+que:
- soma números, ou
- se um dos operandos for
string, faz concatenação.
- No código:
tmsgéstringe vale"10".tnuménumbere vale10.
- Ao executar
msg + num:
- como
msgé uma string ("10"), onum(10) é convertido para string ("10"), - e ocorre concatenação:
"10" + "10" = "1010".
- Portanto,
console.log(f1(tmsg, tnum))imprime"1010".
Alternativa correta: (A).