39. ¿Qué es el ST?
1. Definición
TS(TypeScript)
Es un lenguaje de programación desarrollado por Microsoft. Es JavaScript
un superconjunto que proporciona verificación de tipos estáticos, clases, interfaces, genéricos y otras características, que pueden proporcionar una mejor legibilidad, mantenibilidad y rendimiento del código en proyectos grandes.
2. Ventajas de TS
En comparación con JavaScript
, TypeScript
tiene las siguientes ventajas:
- Verificación de tipos más estricta:
TypeScript
es obligatorio que los tipos de variables, funciones y objetos estén claramente definidos, lo que puede detectar algunos errores potenciales durante la fase de codificación y mejorar la confiabilidad del código. - Mejores sugerencias de código:
TypeScript
se pueden proporcionar mejores sugerencias y completaciones de código en el editor para reducir los errores de codificación. - Mejor legibilidad y mantenibilidad:
TypeScript
la legibilidad y mantenibilidad del código mejoran debido a una escritura más estricta y especificaciones de sintaxis más estrictas.
Además, la sintaxis de TypeScript
es compatible ES6+
y se puede utilizar con JavaScript
aplicaciones y bibliotecas existentes, por lo que es un lenguaje de programación muy potente.
3. Tipo de datos de TS
- Booleano
let isDone: boolean = false;
- Número
let age: number = 18;
let price: number = 3.99;
- Cadena
let name: string = "John";
let message: string = `Hello, ${
name}!`;
- Formación
let numbers: number[] = [1, 2, 3, 4, 5];
let strings: string[] = ["hello", "world"];
- tupla
let myTuple: [string, number] = ["hello", 42];
- Enumeración
enum Color {
Red = 1,
Green = 2,
Blue = 3
}
let myColor: Color = Color.Green;
- Cualquiera: Cualquier tipo, se le puede asignar cualquier valor.
let variable: any = "hello";
variable = 42;
- Vacío: representa una función que no tiene valor de retorno.
function logMessage(message: string): void {
console.log(message);
}
- Nulo e indefinido: indica valores nulos e indefinidos.
let myVar: null = null;
let myOtherVar: undefined = undefined;
- Nunca: indica un valor que nunca existirá, como generar una excepción o ingresar a un bucle infinito.
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
throw new Error(message);
}
// 推断的返回值类型为never
function fail() {
return error("Something failed");
}
// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
while (true) {
}
}
- Objeto: representa tipos no primitivos, incluidos objetos, matrices, funciones, etc.
let person: object = {
name: "John", age: 18 };
let myArray: object[] = [{
name: "John" }, {
name: "Jane" }];
- Desconocido: Indica un tipo desconocido, similar a cualquiera, pero más seguro y no puede asignarse arbitrariamente.
let myUnknown: unknown = "hello";
// 报错:Property 'toUpperCase' does not exist on type 'unknown'.
myUnknown.toUpperCase();