tipo básico
formación
- El primero: tipo de elemento []
let arr: number[] = [1,2,3]
- El segundo tipo: Array generics -Array<tipo de elemento>
let arr: Array<number> = [1,2,3]
tupla
Representa una matriz de número conocido y tipo de elementos
let arr: [string, number]
a = ['RenNing', 18]
Al acceder a elementos fuera de los límites, se utilizará el tipo de unión en su lugar
arr[1] //18
arr[3] = 'world' // (string | number) 类型
enumeración enumeración
Una adición a JavaScript
los tipos de datos estándar.
enum Color {
Red, Green, Blue}
let c: Color = Color.Green //1
De forma predeterminada, los elementos se numeran a partir de 0 ; los valores de los miembros se pueden especificar manualmente
enum Color{
Red = 3, Green, Blue = 8}
let c: Color = Color.Green //4
Canaliza su nombre a través del valor de la enumeración
let colorName: string = Color[3] //red
Cualquier
Vacío
void
El tipo es como any
lo opuesto al tipo, significa que no hay tipo en absoluto.
Cuando una función no devuelve un valor, normalmente verá que su tipo de retorno esvoid
Declarar una void
variable de un tipo no es muy útil porque solo puedes asignar undefined
ynull
nulo e indefinido
let u: undefined = undefined;
let n: null = null;
Por defecto null
y undefined
son subtipos de todos los tipos.
null
y se pueden undefined
asignar a number
variables de tipo.
let a:number = null
Cuando especifica --strictNullChecks
banderas, null
y undefined
solo se pueden asignar a void
y sus respectivos
en algún lugar donde desee pasar un string
or null
o undefined
, puede usar el tipo de uniónstring | null | undefined
Nunca escribas
Identifica el tipo de un valor que nunca existe.
Por ejemplo, never
el tipo es el tipo de devolución de una expresión de función o una expresión de función de flecha que siempre arroja una excepción o nunca devuelve ningún valor;
never
Un tipo es un subtipo y es asignable a cualquier tipo; sin embargo, ningún tipo es never
un subtipo o es asignable a never
un tipo.
function error(message: string) :never {
throw new Error(message)
}
tipo aserción
Forma 1: sintaxis de "corchetes angulares"
let someValue: any = 'this.is a string'
let strLength: number = (<string>someValue).length
Forma 2: como sintaxis
let strLength: number = (someValue as string).length;