全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 10 道配套习题

声明文件基础专题

专题说明

本专题涵盖TypeScript声明文件(.d.ts)的基础知识,包括类型声明语法、模块声明、全局声明等核心内容。

学习目标

  1. 掌握声明文件的作用与编写规范
  2. 理解类型声明语法与模块声明
  3. 能够为JavaScript库编写类型声明

学习建议

建议结合 DefinitelyTyped 项目学习优秀的声明文件写法。

📝 发现内容有误?点击此处直接编辑

📝 配套习题(10 题)

1
判断题

TypeScript 的 .d.ts 声明文件在编译时会被编译为对应的 .js 文件并输出到目标目录。

A

B

2
判断题

.d.ts 文件中使用 declare 关键字声明的变量或函数,必须在运行时提供对应的 JavaScript 实现,否则 TypeScript 编译器会报错。

A

B

3
单选题

tsconfig.json 中,哪个配置项用于控制是否自动生成 .d.ts 声明文件?

A

strictNullChecks

B

declaration

C

emitDeclarationOnly

D

declarationDir

4
单选题

以下哪种声明语法不能.d.ts 文件中使用?

A

declare function foo(x: number): string;

B

declare const PI: number;

C

declare class Logger { log(msg: string): void; }

D

declare let config = { debug: true };

5
多选题

以下哪些场景适合使用 .d.ts 声明文件?

A

为没有类型定义的第三方 JavaScript 库补充类型信息

B

为项目中的 TypeScript 源文件自动生成类型声明,供其他项目引用

C

.d.ts 文件中编写业务逻辑代码

D

声明全局变量或全局函数的类型

6
判断题

在为第三方模块编写 .d.ts 声明文件时,需要使用 declare module "模块名" 的语法来声明模块的类型。

A

B

7
判断题

.d.ts 文件中使用 declare module "*.css" 可以为所有 CSS 模块提供统一的类型声明。

A

B

8
单选题
TypeScript
// declarations/my-lib.d.ts
declare module "my-lib" {
  // 在这里填写声明
}

要为 my-lib 模块声明一个默认导出的函数 init(config: object): void,以下哪个写法是正确的?

A

export default function init(config: object): void;

B

declare function init(config: object): void; export = init;

C

const init: (config: object) => void; export default init;

D

以上都可以

9
单选题

当项目中使用了 lodash 库且需要类型提示时,以下哪种做法是最推荐的?

A

手动在项目中创建 lodash.d.ts 文件并编写完整声明

B

安装 @types/lodash

C

tsconfig.json 中设置 "skipLibCheck": true

D

lodash 的类型声明为 any

10
多选题
TypeScript
declare module "utils" {
  // 可以在这里声明哪些内容?
}

在以上模块声明块内部,以下哪些声明是合法的?

A

export function formatDate(date: Date): string;

B

export interface User { name: string; age: number; }

C

export const API_URL: string;

D

export default class Helper { static parse(s: string): object; }

下一个专题 → 常用内置工具类型专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库