Explica este código TypeScript
Dificultad: Básico
function add(x: number | string, y: number | string) {
if (typeof x === 'number' && typeof y === 'number') return x + y;
if (typeof x === 'string' && typeof y === 'string') return x.concat(y);
throw new Error('Parameters must be numbers or strings');
}
console.log(add('one', 'two')); //🤔
console.log(add(1, 2)); //🤔
console.log(add('one', 2)); //🤔
- A.
TypeError,"12",undefined - B.
"onetwo",3,Uncaught Error: Parameters must be numbers or strings - C.
"onetwo","12",null - D.
Ninguno de los anteriores
Respuesta en el primer comentario.
Top comments (2)
Respuesta:
✅ B.
onetwo,3,Uncaught Error: Parameters must be numbers or stringsEl signo
|en TypeScript significa unión.Esta operación es útil para hacer multitype, osea, que una misma variable acepte un conjunto de tipos.
En el ejemplo:
xyyson parámetros que pueden aceptar dos tipos de dato:numberostring. la función varifica, si sonnumberlos suma, si sonstringlos concatena.El último caso lanza un error por que no tenemos una validación en el cuerpo de la función.

from Imgflip Meme Generator