全部学科
Python全栈
python
NodeJS全栈
nodejs

声明文件基础专题测试

10 题 75 分钟 难度:★★

考察知识点

  1. 声明文件作用: .d.ts 文件、类型提示、编译检查
  2. 声明语法: declare 关键字、模块声明、命名空间声明
  3. 类型声明: 函数声明、类声明、接口声明、变量声明
  4. 模块声明: 外部模块、全局模块、UMD 模块
  5. 声明文件组织: 目录结构、索引文件、发布配置
💡 参考答案在文末
判断题
1

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

A

B

2

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

A

B

3

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

A

B

4

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

A

B

单选题
5

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

A

strictNullChecks

B

declaration

C

emitDeclarationOnly

D

declarationDir

6

以下哪种声明语法不能.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 };

7
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

以上都可以

8

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

A

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

B

安装 @types/lodash

C

tsconfig.json 中设置 "skipLibCheck": true

D

lodash 的类型声明为 any

多选题
9

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

A

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

B

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

C

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

D

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

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; }

参考答案
1.错误 2.错误 3.正确 4.正确 5.B 6.D 7.C 8.B 9.A;B;D 10.A;B;C;D
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 TypeScript 高级技能认证测试
下一套试卷 → 常用内置工具类型专题测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码