A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Union types

7/28
Recursos

Habr谩 ocasiones en las que necesitemos asignar variables con m谩s de un tipo, para evitar el uso de any debemos usar union types. Utilizando el signo 鈥|鈥 podemos indicarle a TypeScript que utilice uno u otro tipo de dato, por ejemplo:

type SumaParameter = string | number;

Aportes 20

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

A lo que al profesor se refiere en el min 4:49 es que en JS existe un proceso llamada coercion. Basicamente es convertir un valor de un tipo (string.number, boolean) a otro. Existe dos tipos de coercion: Explicita e Implicita. Para convertir expl铆citamente valores a un string, solo hay que utilizar la funci贸n String(). La coerci贸n impl铆cita es activada por el operador binario +, cuando cualquier operando es un string. No interesa el order, solo se necesita que haya un operador binario y que uno de los dos operandos sea un string.

//Habr谩 ocasiones en las que necesitemos asignar variables con m谩s de un tipo, para evitar el uso de any debemos usar union types. Utilizando el signo 鈥榺鈥 podemos indicarle a TypeScript que utilice uno u otro tipo de dato, por ejemplo:

type SumaParameter = string | number;
type SumaReturnType = string | number;

function Suma(num1: SumaParameter, num2: SumaParameter): SumaReturnType {
    return Number(num1) + Number(num2);
}

//Con respecto a las interfaces

interface Interface1 {
    prop1: number;
}

interface Interface2 {
    prop2: number;
}

type InterfaceMix = Interface1 | Interface2;
const interfacemix: InterfaceMix = {
    prop1: 2,
    prop2: 3
}
Sumamente interesante y muy 煤til.

Algo nuevo para mi.

<//haremos un alias que represente un number y un string
type SumaParameter = string | number;
type SumaReturnType = string | number;

//nuestro parametro podria ser un numero o un string
function Suma(num1: SumaParameter, num2: SumaParameter): SumaReturnType{
    //debemos transformar nuestros valores a number
    //return Number(num1) + Number(num2);
    //Javascript convierte el segundo numero a string porque detecta el primero lo es
    return String(num1)+ num2;
}

//Union types tambien pueden hacerse con interfaces o clases
interface Interface1 {
    prop1: number;
}
interface Interface2 {
    prop2: number;
}

type InterfaceMix = Interface1 | Interface2;

//creamos un objeto de tipo interfacemix
const InterfaceMix: InterfaceMix = {
    prop1: 2,
    prop2: 2,
}>

Cuando se convierte el primer par谩metro a Number y el segundo no se convierte sale error, pero si se hace con String lo toma correctamente鈥

type SumaParameter = number | string;
type SumaReturnType = number | string;

function Suma(num1: SumaParameter, num2: SumaParameter): SumaReturnType {
  return Number(num1) + num2;
}
type SumaParameter = string | number;

type SumaReturnType = string | number

function Suma(num1:SumaParameter, num2:SumaParameter):SumaReturnType = {
  return String(num1) + num2;// Ambos se convierten a String porque el primero fue definido String
}
interface Interface1 {
  prop1: number
}

interface Interface2 {
  prop2: number
}

type InterfaceMix = Interface1 | Interface2;

conste mix1:InterfaceMix = {
  prop1: 20
}

conste mix2:InterfaceMix = {
  prop2: 30
}

conste mix3:InterfaceMix = {
  prop1: 20,
  prop2: 30
}

Genial clase, me est谩n quedando mucho mas claros los conceptos del curso anterior, Fundamentos de TS.
Genial que el profe realice el resumen al final de la clase ayuda mucho

Hay tantas cosas que todav铆a desconozco de JavaScript/TypeScript

Gracias platzi

Union types permiten crear tipos de variables e interfaces que representen un u otro tipo de dato. Una variable de suma puede estar representada por un string o number, tambi茅n una interf谩z Transporte puede ser la mezcla de la interf谩z Motocicleta o Carro

type SumaParameter = string | number;

asignar variables con m谩s de un tipo

a esta clase creo que le falt贸 implementar los conocimientos de la lecci贸n en un caso de uso.

Buenas noches, mi aporte:

type SumParameter = string | number;

const sum = (...nums: SumParameter[]) => {
    return nums.reduce((acc: SumParameter, value: SumParameter) => (+acc) + (+value), 0);
}```

Si volvemos a nuestra primera clase podemos ver que Typescript lograr铆a funcionar como Javascript Vanilla con lo que aprendimos hoy Union Types

let a: string | number = 'hola';
a = 2;

Habr谩 ocasiones en las que necesitemos asignar variables con m谩s de un tipo, para evitar el uso de any debemos usar union types. Utilizando el signo 鈥榺鈥 podemos indicarle a TypeScript que utilice uno u otro tipo de dato, por ejemplo:

type SumaParameter = string | number;

el O logico se aplica con el 鈥減ipe鈥 |

Esta muy buena la metodologia de hacer un breve repaso de lo que fue la clase al final.

<code>

type sumaprametro = string | number ;
type sumareturn = string | number ;


function suma(num1: sumaprametro,num2: sumaprametro) :sumareturn{
    return Number(num1)+ Number(num2);
}

interface interface1 {
    prop1: number;
}
interface interface2 {
    prop2: number;
}
type interfacemix = interface1 | interface2 ;

const Interfacemix: interfacemix = {
 prop1: 2,
 prop2: 2,
}