MST

星途 面试题库

面试题:JavaScript中如何在ES6模块里导入和导出TypeScript定义的类型

假设你有一个TypeScript文件定义了一个接口`User`,包含`name`和`age`属性。在JavaScript的ES6模块中,如何导入这个`User`类型并使用它来定义一个函数参数类型?请写出关键代码片段。
36.0万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. TypeScript 接口定义(假设在 user.ts 文件中)
// user.ts
export interface User {
    name: string;
    age: number;
}
  1. JavaScript ES6 模块导入并使用(假设在 main.js 文件中,使用 TypeScript 类型需要借助 .d.ts 声明文件)
    • 首先,创建一个 user.d.ts 声明文件:
// user.d.ts
export interface User {
    name: string;
    age: number;
}
  • 然后在 main.js 中导入并使用:
// main.js
import { User } from './user.js';

function greet(user: User) {
    console.log(`Hello, ${user.name}! You are ${user.age} years old.`);
}

const myUser: User = { name: 'John', age: 30 };
greet(myUser);

在实际项目中,为了让 TypeScript 正确处理 JavaScript 文件中的类型,通常还需要在 tsconfig.json 中配置相关选项,例如 "allowJs": true 等,以允许 TypeScript 处理 JavaScript 文件。