Explicar las aserciones de tipo en TypeScript

En Typescript , la aserción de tipo es una técnica que informa al compilador sobre el tipo de una variable. La aserción de tipos es similar a la conversión de tipos, pero no reconstruye el código. Puede usar la aserción de tipo para especificar el tipo de un valor y decirle al compilador que no lo deduzca. Cuando queremos cambiar una variable de un tipo a otro, como cualquier número, etc., usamos la aserción de tipo. 

Podemos usar <> corchetes angulares o como palabras clave para escribir aserción. Cuando migramos el código de TypeScript a otro tipo de lenguaje, entra en juego la aserción. El soporte de tiempo de ejecución viene con el encasillado, mientras que la aserción de tipo no tiene efecto en el tiempo de ejecución. Es utilizado por el compilador. 

Ejemplo 1: Escriba la aserción usando la sintaxis

En este ejemplo, asignamos la string ‘geeksforgeeks’ a una variable de tipo desconocido. Además, asignamos el valor de la string a otra variable y calculamos la longitud de la string. En el siguiente código, hemos afirmado que str es de tipo número usando la palabra clave «as». 

Javascript

let str: unknown = "geeksforgeeks";
console.log(str);
  
let len: number = (str as string).length;
console.log(len);

Producción:

geeksforgeeks
13

Ejemplo 2: escriba la afirmación usando la sintaxis de corchetes angulares <>

Este ejemplo es similar al anterior, asignamos un número a una variable de tipo any y luego asignamos el valor a otra variable y hemos afirmado que la variable num es de tipo «Número». Utilizamos <> corchetes angulares en lugar de palabras clave.

Javascript

let num: any = 77;
  
// Conversion from any to number
let num1 = <Number> num;
  
console.log(num1);
console.log(typeof num1);

Producción:

77
number

Ejemplo 3: aserción de tipo para objetos

Ocasionalmente podemos encontrarnos con una circunstancia en la que un objeto se define sin ninguna propiedad. El compilador arroja un error como resultado de esto. Sin embargo, podemos evitar este problema utilizando la aserción de tipo. Con la ayuda del siguiente ejemplo, podemos comprenderlo.

Javascript

interface details {}
details.first_name = "Sarah";
details.last_name = "jane";

Producción:

error TS2693: 'details' only refers to a type, but is being used as a value here.
details.first_name = "Sarah";

Después de definir los parámetros, el compilador no arroja un error. El compilador genera un error en el ejemplo anterior ya que no puede encontrar ninguna propiedad dentro del objeto. La aserción de tipo nos ayuda a resolver tales errores. Usamos aserción de tipo en los detalles.

Javascript

interface details {
    first_name: string;
    last_name: string;
}
  
let person_1 = <details>{};
person_1.first_name = "Sarah";
person_1.last_name = "jane";
  
console.log(person_1);

Producción:

{ first_name: 'Sarah', last_name: 'jane' }

Referencia: https://www.typescriptlang.org/docs/handbook/basic-types.html#type-assertions

Publicación traducida automáticamente

Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *