Вы больше работаете с JavaScript или с TypeScript?

«Вы больше работаете с JavaScript или с TypeScript?» — вопрос из категории Софт-скиллы, который задают на 26% собеседований Node.js Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

В последние годы я преимущественно работаю с TypeScript в Node.js проектах. Статическая типизация помогает писать более надежный и поддерживаемый код, особенно в масштабируемых приложениях и при командной разработке. TypeScript отлично интегрируется с Express, NestJS и популярными ORM, такими как TypeORM или Prisma.

Пример использования интерфейса и типа в Node.js/Express:

interface IUser {
  id: number;
  email: string;
  name: string;
}

type UserResponse = IUser & { createdAt: Date };

app.get('/api/users/:id', async (req: Request, res: Response) => {
  const userId: number = parseInt(req.params.id);
  // Типы предотвращают ошибки, например, передачу строки в метод поиска по ID
  const user = await userService.findById(userId);
  const response: UserResponse = { ...user, createdAt: user.createdAt };
  res.json(response);
});

Чистый JavaScript я использую для быстрых скриптов, утилит или в проектах с очень специфичными требованиями к производительности, где накладные расходы на компиляцию TS нежелательны.