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 strings
El 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:
x
yy
son parámetros que pueden aceptar dos tipos de dato:number
ostring
. la función varifica, si sonnumber
los suma, si sonstring
los 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