ilustrar
TypeScript admite casi los mismos tipos de datos que JavaScript y también proporciona tipos de datos adicionales
valor booleano
const flag: boolean = true;
número
onst count: number = 10;
cadena
Las comillas simples, las comillas dobles y las cadenas de plantilla pueden representar cadenas
const name: string = 'Jack';
const address = "北京朝阳";
const info: string = `我是${name},来自${address}`;
formación
Opere arreglos de la misma manera que JavaScript, definido de las siguientes dos maneras
const arr1: string[] = ['苹果', '橘子'];
const arr2:Array<number> = [1, 2, 3];
tupla
Defina una matriz de elementos y tipos conocidos, los tipos de elementos y el orden de definición deben ser consistentes
const arr1: [number, string] = [1, '水果'];
const arr2: [string, number] = [1, '水果']; // 提示类型不匹配
enumerar
El tipo de enumeración es un suplemento adicional al tipo de datos de JavaS. De forma predeterminada, se ordena de 0
enum Colors {
Red, Green, Blue
}
console.log(Colors.Red) // 0
console.log(Colors[1]) // Gree
También puede especificar manualmente el número de un miembro o especificar el número de todos los miembros
enum Colors {
Red=1, Green, Blue
}
console.log(Colors.Red) // 1
console.log(Colors[3]) // Gree
Cualquier tipo
Indica que los datos pueden ser de cualquier tipo de datos. Cuando el tipo de datos actual no está claro, use cualquier definición para omitir la verificación de tipos en tiempo de compilación.
let anyData: any = 4;
let anyArray: Array<any> = ['1', 1, {name: 'Jack'}]
Vacío
Indica que no hay ningún tipo de datos y, a menudo, se usa en valores de retorno de función.
function testVoid():void{
console.log('testVoid')
}
nulo e indefinido
El tipo no es muy útil y el significado es consistente con nulo e indefinido en JavaScript
Nunca
El tipo never representa un tipo de valor que nunca existe. El tipo never es un subtipo de cualquier tipo y se puede asignar a cualquier tipo; sin embargo, ningún tipo es un subtipo o se puede asignar al tipo never (excepto nunca). Ni siquiera any puede asignarse a never.
Objeto
objeto es un tipo de datos no primitivo y es un tipo distinto de número, cadena, booleano, símbolo, nulo o indefinido
tipo aserción
Cuando una variable puede tener múltiples tipos de datos o definir cualquier tipo, se utiliza cuando necesitamos realizar diferentes procesamientos comerciales según los diferentes tipos.
Nota oficial:
a veces se encontrará con una situación en la que sabe más sobre los detalles de un valor que TypeScript. Por lo general, esto sucede cuando sabe claramente que una entidad tiene un tipo más específico del que ya tiene.
Esta es la forma de decirle al compilador, "confía en mí, sé lo que estoy haciendo" a través de afirmaciones de tipo. Las aserciones de tipo son como las conversiones de tipo en otros lenguajes, pero sin verificación ni desestructuración de datos especiales. No tiene impacto en el tiempo de ejecución, solo funciona durante la fase de compilación. TypeScript asume que usted, el programador, ha realizado las comprobaciones necesarias.
Dos formas de aserción de tipo: sintaxis de "corchetes angulares" y como sintaxis
const anyData = '类型断言'
const len1: number = (<string>anyData).length
const len2: number = (anyData as string).length