Tipos de datos Web-TypeScript

tipo básico

        Typecript nos permite asignar tipos a variables para que el compilador compruebe que no estamos asignando valores erróneos a las variables. Debes estar familiarizado con la verificación de tipos en otros lenguajes que hayas estudiado, como C# o Java. A continuación se muestra un ejemplo simple de una declaración de tipo Typecript.

var num : number = 23;

        El símbolo ":" aquí se utiliza para introducir la declaración de tipo "Número", que es uno de los tipos básicos en Typecript. Esto significa que siempre que se utilice la variable num, el compilador de Typecript comprobará si a la variable se le asigna un número y, en caso contrario, dará un error.

        En Typecript (y JavaScript), los tipos básicos son:

        booleano - número verdadero o falso
        - un número entero o flotante (ambos están bien)
        cadena - una cadena normal
        cualquiera - puede ser de cualquier tipo
        void - no tiene valor (similar a la función void en C# y Java)
        nunca - usado para nunca La función devolvió
        nulo - valor nulo de JavaScript
        indefinido - valor indefinido de JavaScript

        Los tipos nulos e indefinidos son en realidad subtipos de otros tipos. Su presencia nos permite especificar si se permite nulo o indefinido como valor cuando analizamos solo el tipo de unión.

        También hay tipos de estructuras que describen estructuras de JavaScript:

formación

        Se puede declarar que las matrices contienen elementos de un tipo, p.

 var ilist : number[] = [1, 2, 3];

tupla

        Una tupla es una matriz de longitud fija que puede tener diferentes tipos de elementos, p.

  var tup : [number, string]= [23, "abc"];

Enumeración (Enumeración)

        Las enumeraciones son similares a C# o Java y nos permiten declarar un tipo con un conjunto de valores permitidos, por ejemplo:

enum Status {running, paused, stopped, finished};
var myStatus: Status = Status.paused;

Tipo de afirmaciones

        Además de usar declaraciones de tipo (como en el ejemplo anterior), también podemos usar aserciones de tipo. Las afirmaciones significan que el programador sabe más que el sistema de tipos. Permite a los programadores agregar información de tipo que no está clara para el compilador. Esto es útil en Typecript ya que debe ser compatible con JavaScript sin tipo. Permite a los programadores hacer "afirmaciones" sobre tipos en código sin escribir.
        Las afirmaciones de tipo vienen en dos formas:

<thetype> myvar
myvar as thetype

        Son funcionalmente idénticos. Por ejemplo, digamos que tenemos una cadena:

  var myString = "hello world" // a Javascript declaration

        Podemos obtener la longitud de una cadena en el código de una manera bien escrita con cualquiera de dos declaraciones mecanografiadas:

var stringLength1 : number = (<string> mystring).length;
var stringLength2 : number = (mystring as string).length;

        Tenga en cuenta que tenemos que insertar paréntesis para asegurarnos de que la afirmación de tipo solo se aplique a las variables. Las aserciones de tipo están relacionadas con las conversiones de tipo, que cubriremos más adelante en este tema.

Alcance del bloque: declaración let

        Finalmente, en esta sección, debemos explicar la declaración let. En los siguientes ejemplos, verá que la declaración let siempre se usa en lugar de la declaración var. En Typecript, la declaración let se utiliza para imponer restricciones de alcance más estrictas a las variables. De hecho, las declaraciones let hacen que las variables se comporten más como está acostumbrado en C# o Java. Un ejemplo de la diferencia es la siguiente secuencia de código JavaScript perfectamente válido:

n = 23;
var n;

        En el lenguaje al que estás acostumbrado, esto causaría un error porque la variable no se declararía cuando se encuentre la primera declaración. JavaScript tiene un comportamiento de alcance más peculiar, que verá en la actividad siguiente. La declaración let corrige este comportamiento desde una perspectiva de lenguaje de tipos tradicional. Por ejemplo, la siguiente secuencia de código provocará un error de sintaxis del compilador.

n = 23; // syntax error because n is not declared before here
let n;

        De ahora en adelante, usaremos la declaración let para declarar variables en nuestros ejemplos.

        Existe una forma especial de declaración let para variables que nunca cambian. Esta es una afirmación constante. Supongamos que tenemos la siguiente afirmación.

const n = 23;

        Aquí, declaramos una variable n que se inicializa con el valor 23. Se diferencia de las variables creadas usando una declaración var o let en que Typecript evitará que se le asigne cualquier otro valor después de la declaración. El compilador mostrará un error si intenta codificar un cambio de valor.

tipos de datos complejos

        Typecript presenta algunas estructuras de datos interesantes que podemos usar en nuestros programas. Ahora veamos los tipos de datos de enumeración, matriz y tupla.

enumerar

        Una enumeración declara un conjunto de símbolos que se pueden utilizar para el contenido de una variable. En Typecript y otros lenguajes, estas variables se asignan a valores enteros, pero estos valores enteros están ocultos del programa, que está programado con identificadores significativos.
La siguiente enumeración define algunos símbolos para el tipo de datos Color:

enum Colour {red, white, blue, yellow};

        Podemos declarar una variable e inicializarla de la siguiente manera:

let col:Colour = Colour.yellow;

        Hasta ahora, esto es similar a las enumeraciones en C# o Java. Sin embargo, existen algunos comportamientos únicos en Typecript. Considere la siguiente declaración if de que desea trabajar:

if (col == Colour.red) { … }

        Esto generará un error de sintaxis de Typecript "El operador == no se puede aplicar a los tipos Color.amarillo y Color.rojo". En este caso, Typecript parece dar un error cuando espera que dos valores de enumeración sean comparables. Hay algunas razones técnicas por las que este no es el caso. La forma que tenemos de comparar variables de enumeración es utilizando sus equivalentes numéricos. Por ejemplo, podríamos cambiar la declaración if anterior para eliminar el problema:

if (col == <number>Colour.red) { … }

        La sintaxis aquí <number>es una conversión de tipo para convertir un valor de enumeración en un tipo numérico. En situaciones en las que se requiere una comparación, como en switchuna declaración, es necesario realizar una conversión como esta.

formación

        Typecript también utiliza una sintaxis especial para tipos de matrices . Una matriz numérica unidimensional simple se puede declarar de la siguiente manera:

let luckyNumbers: number[] = [7, 8, 23, 88];

        Esta es la forma utilizada para matrices de cualquier tipo. Quizás recuerdes que JavaScript permite cualquier tipo de elemento en una matriz. Typecript no lo hace, comprueba si todos los elementos son del mismo tipo.

        También podemos inicializar un objeto de matriz sin almacenar ningún objeto en él. Para esto podemos usar la clase Array que es similar a la clase Java Array. Por ejemplo:

let array1: string[] = new Array(4); // new array with slots for 4 elements
let array2: string[] = new Array(0); // new array with slots for zero elements

        El segundo ejemplo refleja la estructura diferente de las matrices de JavaScript de otros lenguajes. El tamaño de una matriz de JavaScript se puede cambiar automáticamente simplemente almacenando los datos en un nuevo índice. Otros lenguajes que utilice impondrán un tamaño fijo para las matrices y producirán errores de tiempo de ejecución al utilizar índices que superen el tamaño fijo.

tupla

        Un tipo más flexible es la tupla . Este es un tipo que describe objetos que pueden tener varios tipos diferentes declarados en su interior. Describen una matriz JavaScript de longitud fija. Un ejemplo sencillo es: 
let student1 : [string, number] = ["Reza",23];

        El valor de esta variable siempre tiene dos elementos, el primero es una cadena y el segundo es un número. Para acceder a estos valores, utilizamos la sintaxis de acceso a la matriz, como se muestra en las dos declaraciones siguientes:

console.log(student1[0]); // prints “Reza” on console log
student1[0]="Baz"; // changes the first value to the string “Baz”

        Esto se parece a JavaScript, pero Typecript verifica el tipo para asegurarse de que el índice y el tipo del elemento sean los que deberían ser. Por ejemplo, la siguiente declaración generará un error de tipo:

student1[0] = 17; // type error – must be a string

Supongo que te gusta

Origin blog.csdn.net/qq_54813250/article/details/133514181
Recomendado
Clasificación