You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
13 Hrs
55 Min
6 Seg
Curso de TypeScript

Curso de TypeScript

Nicolas Molina

Nicolas Molina

Any

13/24
Resources

It is a data type unique to TypeScript. Its translation would be "any", as it literally allows us to store any type of data in a variable:

let myDynamicVar: any; myDynamicVar = 100; // numbermyDynamicVar = null; myDynamicVar = {}; // ObjectmyDynamicVar = ""; // string.

It is recommended not to use this data type, as it is considered bad practice.

Importance of Any

The usefulness of any lies when you want to migrate a few at a time to TypeScript from JavaScript, since we would incrementally define the data type where needed without breaking our program all at once.

Treat Any as a primitive

You can perform conversions to JavaScript primitive data types:

//Case 1myDynamicVar = "HELLO";const otherString = (myDynamicVar as string).toLowerCase();//Case 2myDynamicVar = 1212;const otherNumber = (<number>myDynamicVar).toFixed();

As we can see, we can treat our variable any as a string in the first case and as a number in the second. After that, we can access the toLowerCase() and toFixed() methods according to the corresponding data type.

Contribution created by: Martín Álvarez.

Contributions 25

Questions 5

Sort by:

Want to see more contributions, questions and answers from the community?

Me encanta este meme, desmuestra el porque no debemos de usar any![](

De esta clase se puede resumir que:

  • El tipo de dato any “desactiva” el tipado de TS, volviendo de cierta forma a JS.
  • No es recomendado usar any. Sin embargo, puede ser útil cuando estamos migrando código JS a TS.
  • Podemos convertir de any a cualquier otro tipo de dato con el as operator. Este se usa de la siguiente forma.
let foo: any = null;
foo = "My name"

const name = (foo as string)

De esta forma, podemos acceder a los métodos de “string” desde la variable name

Les comparto mis apuntes. 😄

¿Qué es any?

Es un tipo de dato cualquiera, literalmente, la variable que declaremos con este tipo de dato puede contener cualquier tipo de valor. Quita el análisis de tipos.

Uso

Lo podemos usar para tener mayor flexibilidad, pero hay mejores forma para hacerlo.

Se aconseja que any no sea utilizado en proyectos ya consolidados y en equipos de desarrollo con experiencia con TypeScript, en caso de migraciones de proyectos de JavaScript a TypeScript se puede permitir el uso de any.

TypeScript

Este es de forma incremental, es decir, que para sistemas o aplicaciones en las que estamos comenzando a implementar TypeScript se puede permitir el tipo de dato any, puede ser bueno para los primeros pasos en la migración del proyecto.

CAST

Pasar de un tipo de dato a otro.

as

Podemos definir como queremos que sea tratado un tipo de dato, le decimos a TypeScript que confíe en nuestro tipado. Que trate a esa variable como ese tipo de dato que le especificamos.

(variableName as dataType)

Angle bracket

Es lo mismo que as pero con otra sintaxis.

(<dataType>variableName)

Tip: Si de aquí quieres partir con bases sólidas hacia Angular, la forma de cast usada en ese framework es:

<number>myDynamicVar

Por lo que la vas a encontrar así en ejemplos y documentación.

are you ok annie?

En mi trabajo, nos pidieron migrar todo el back de una aplicacion a TS y sin usar en alguna parte el any era muy dificil, cuando empezamos un proyecto de cero es muy facil utar los tipados y dejar de usar any

any are you OK?

🤔 Hay que tener un pelin de cuidado con esa “falsa seguridad” que brinda TypeScript, tanto por los errores que vienen en tiempos de ejecución y tipando con any

Es paradójico la mayoría de los devs Javascript dicen que Java es un lenguaje muy feo... pero typescript es traer cosas de Java o C# a Javascript. Y hay si dicen ohhh typescript es fantástico... en fin la hipotenusa.

ANY: Desactiva el sistema de análisis de tipo de datos. Podemos manipular el any como un tipo de dato específico a través de un cast
Dos manera de hacer un cast:

  1. (dinamicVar as number)
  2. (<number>dinamicVar )
(() => {
    //any= cualquier cosa puede ir ahí 
    let myDynamicVar: any;

    //podemos darle cualuqier valor
    myDynamicVar = 100;
    myDynamicVar = null;
    myDynamicVar = {};
    myDynamicVar ='';
})();

Para transformar un tipo de dato a otro puedes usar eston `(variable as tipoDeDato)` y tambien esta la forma de `(<tipoDeDato>variable)` `//Caso 1` `myDynamicVar = "HOLA";` `const otherString = (myDynamicVar as string).toLowerCase();` `//Caso 2` `myDynamicVar = 1212;` `const otherNumber = (<number>myDynamicVar).toFixed();` Podemos tratar nuestra variable `any` como `string` en el primer caso y como `number` en el segundo. Después de esto, podemos acceder a los métodos `toLowerCase()` y `toFixed()` según el tipo de dato correspondiente.

El método toFixed() devuelve un string.
De esta manera puedo convertirlo nuevamente a número.

 myVar = 1212.8745;
 let number = Number((<number>myVar).toFixed(2));
 console.log("number ", number);
Que buena esta herramienta! Me encanta como el ide se acopla a nuestro desarrollo
Dentro de su archivo `tsconfig.json` en la opción Type Checking pueden descomentar la opción `*noImplicitAny": true*` para que typescript les lance un error al querer usar any.
Para respetar las reglas de uso de Typescript y manejar unas buenas practicas, se puede usar la libreria Eslint y prettier para hacer mas estricto el tipado y otras cualidades de Typescript.
¿Que...?![](https://static.platzi.com/media/user_upload/image-be88087b-70da-42bf-b5a3-751abc651eeb.jpg)

Pero usar any es volver a js vanilla no? la idea de ts es usar el tipado directamente

any
TypeScript también tiene un tipo especial, any que puede usar siempre que no desee que un valor en particular cause errores de verificación de tipo.
El any tipo es útil cuando no desea escribir un tipo largo solo para convencer a TypeScript de que una línea de código en particular está bien.

(() => {
  //any= cualquier cosa puede ir ahí
  let myDynamicVar: any;

  //podemos darle cualuqier valor
  myDynamicVar = 100;
  myDynamicVar = null;
  myDynamicVar = {};
  myDynamicVar ='';

  myDynamicVar = 'Hola';
  const rta = (myDynamicVar as string).toLowerCase();
  console.log(rta);

  myDynamicVar = 1212;
  const rta2 = (<number>myDynamicVar).toFixed();
  console.log(rta2);

})();

Cómo castear una variable tipo any a otro tipado más específico.

Muy buen video jejejjee, literal cuando me llega un objeto de una base de datos me salian miles de errores, decidi ponerlo en any y poco a poco incluir los tipos.

Al usar el tipado any y al luego hacer un caster, podremos de alguna forma poder hacer operaciones que dejaría javascript, como poder aplicar una suma entre un string y un dato tipo numérico . ```js (() => { let notSure : any; notSure = 'si' let castNumeric = (<number>notSure) castNumeric += 12 console.log({castNumeric}) // {castNumeric : 'si12'} })(); ```