TypeScript: преобразование неизвестного значения в строку

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

Метод 1. Использование оператора typeof

function convertToString(value: unknown): string {
  if (typeof value === "string") {
    return value; // Value is already a string
  } else if (typeof value === "number" || typeof value === "boolean") {
    return value.toString(); // Convert number or boolean to string
  } else {
    return ""; // Return empty string for other types
  }
}
const unknownValue: unknown = 42;
const stringValue: string = convertToString(unknownValue);
console.log(stringValue); // Output: "42"

Метод 2: использование метода toString()

function convertToString(value: unknown): string {
  if (value instanceof Date) {
    return value.toISOString(); // Convert Date to string
  } else if (value !== null && typeof value !== "undefined") {
    return value.toString(); // Use toString() method for other types
  } else {
    return ""; // Return empty string for null or undefined
  }
}
const unknownValue: unknown = new Date();
const stringValue: string = convertToString(unknownValue);
console.log(stringValue); // Output: "2024-03-01T00:00:00.000Z"

Метод 3. Использование литералов шаблона

function convertToString(value: unknown): string {
  return `${value}`; // Use template literals for simple string conversion
}
const unknownValue: unknown = true;
const stringValue: string = convertToString(unknownValue);
console.log(stringValue); // Output: "true"

Метод 4: использование JSON.stringify()

function convertToString(value: unknown): string {
  return JSON.stringify(value); // Convert value to JSON string
}
const unknownValue: unknown = { name: "John", age: 30 };
const stringValue: string = convertToString(unknownValue);
console.log(stringValue); // Output: '{"name":"John","age":30}'

В TypeScript преобразование значения unknownв строку требует проверки типа и использования соответствующих методов преобразования. В этой статье мы рассмотрели несколько методов, в том числе использование оператора typeof, метода toString(), литералов шаблонов и JSON.stringify(). Применяя эти методы, вы можете эффективно преобразовать значения unknownв строки в TypeScript.

Не забудьте учитывать конкретные требования вашего варианта использования при выборе подходящего метода преобразования типов.