Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Funciones

17/24
Recursos

Aportes 8

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

También podemos hacer un return explicito usando parentesis en vez de llaves. Dado que retornamos un objeto, es por eso, que dentro de los parentesis hay llaves:

const createProductToJson2 = (title: string, createdAt: Date, stock: number, size?: Size) => ({title, createdAt, stock, size})

Funciones en TS

En TS tenemos que declarar el tipo de dato de cada parámetro en la función. Además de que TS nos va a marcar error en caso de que agreguemos mas o menos parámetros de los requeridos.

// JS
function createPerson(name, lastName){
  return {name, lastName}
}
createPerson() // no error
createPerson(0, true) // no error
createPerson('o', 32, true) //no error

// TS
function createPerson(name: string, lastName: string){
  return {name, lastName}
}
createPerson() // ERROR
createPerson(0, true) // ERROR
createPerson('o', 32, true) // ERROR

Esta es una manera en la que TS nos ayuda. También podemos tener parámetros opcionales, que si no son declarados, son undefined.

function createPerson(
  name: string,
  lastName: string,
  age?: number){
    return {name, lastName, age}
}

En este caso age es opcional

amo TS!

Excelente curso, mucha claridad en todos los fundamentos, en ese aspecto Platzi es superior a cualquier otra plataforma qué yo conozca, aquí se enfatiza desde lo básico sin perder de vista la parte práctica…Sigan así, qué gran trabajo

Les comparto mis apuntes. 😄

Tipo de dato Date

Podemos usarlo así tal cual Date no vamos a tener ningún problema como teníamos con Number, Object, etc.

Sintaxis tipo inferido

Funciones declarativas

function functionName (parameters: dataTypes) { statements }

Arrow functions

const functionName = (parameters: dataTypes) => { statements }

Parámetros opcionales

Agregamos ? después del nombre de nuestro parámetro pero antes de los :.

Al no enviar ese parámetro en cuando usamos la función por defecto este será undefined.

function functionName (parameters?: dataTypes): dataTypes { statements }

Recomendación

Se recomienda usar arrow functions por encima de las funciones declarativas normales.

Aqui esta la url del github en la rama de esta clase:
https://github.com/platzi/curso-typescript-fundamentos/tree/15-step

Ojo que existe una diferencia al crear funciones con FUNCTION y con ()=>{}, hoisting es el tema

arrow function en TS.