Приведение типов TypeScript: полное руководство по утверждениям типов и методам приведения типов

TypeScript, расширенная версия JavaScript, предоставляет мощные возможности статической типизации, которые повышают надежность и удобство обслуживания кода. Однако бывают ситуации, когда вам может потребоваться работать с данными разных типов или конвертировать один тип в другой. В таких случаях приведение типов становится необходимым. В этой статье рассматриваются различные методы приведения типов в TypeScript, а также примеры кода, которые помогут вам эффективно обрабатывать преобразования типов в ваших проектах.

  1. Утверждения типа.
    Утверждения типа позволяют явно информировать компилятор TypeScript о конкретном типе выражения, переопределяя его вывод по умолчанию. Два общих синтаксиса утверждений типов:
// Angle Bracket Syntax
let someValue: any = "Hello, TypeScript!";
let strLength: number = (<string>someValue).length;
// As Syntax
let someValue: any = "Hello, TypeScript!";
let strLength: number = (someValue as string).length;
  1. Функции преобразования типов.
    TypeScript предоставляет встроенные функции для преобразования типов. Вот несколько примеров:
// String to Number
let numericString: string = "42";
let numericValue: number = Number(numericString);
// Number to String
let numericValue: number = 42;
let numericString: string = numericValue.toString();
// String to Boolean
let strValue: string = "true";
let boolValue: boolean = Boolean(strValue);
  1. Приведение типов объектов.
    При работе с объектами вы можете привести их к определенному типу с помощью ключевого слова as. Вот пример:
class Animal {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
}
class Dog extends Animal {
  breed: string;
  constructor(name: string, breed: string) {
    super(name);
    this.breed = breed;
  }
}
let animal: Animal = new Dog("Buddy", "Labrador");
let dog: Dog = animal as Dog;
  1. Приведение типов с помощью оператора instanceof.
    Оператор instanceofпозволяет проверить, является ли объект экземпляром определенного класса. Затем вы можете привести его к этому типу класса. Пример:
class Vehicle {
  drive() {
    console.log("Driving a vehicle");
  }
}
class Car extends Vehicle {
  honk() {
    console.log("Honk honk!");
  }
}
let vehicle: Vehicle = new Car();
if (vehicle instanceof Car) {
  let car: Car = vehicle;
  car.honk();
}

TypeScript предоставляет несколько методов приведения типов и утверждений типов, что позволяет эффективно обрабатывать преобразования типов. Используя эти методы, вы можете обеспечить безопасность типов, улучшить читаемость кода и улучшить опыт разработки. Понимание различных методов приведения типов в TypeScript позволит вам беспрепятственно работать с различными типами данных.