在 Node.js 开发中,util 模块通常被用来辅助完成哪些常见任务?请列举其主要功能。
考察说明
考查对 Node.js 内置工具模块 util 的了解和掌握程度
回答思路
- 【回答框架 1】util 是 Node.js 核心模块,提供一系列实用函数,用于调试、类型检查、对象操作、回调处理等。
- 【回答框架 2】常用功能包括 util.format 用于格式化字符串,类似 printf;util.inspect 用于将对象转换为可读字符串,便于调试输出。
- 【回答框架 3】util.promisify 可将遵循 Node.js 回调风格的函数转换为返回 Promise 的版本,简化异步编程。
- 【回答框架 4】util.types 提供一系列类型检查方法,如 util.types.isDate、util.types.isPromise 等,更精确地判断内置类型。
- 【回答框架 5】util.inherits 用于实现原型继承,但现代开发更推荐使用 class 和 extends 语法。
- 【关键点 1】util.promisify 将回调函数转为 Promise,简化异步流程。
- 【关键点 2】util.inspect 用于调试输出对象,支持深度和颜色选项。
- 【关键点 3】util.format 按 printf 风格格式化字符串。
- 【关键点 4】util.types 提供精确的内置类型检查,如 isDate、isPromise。
- 【关键点 5】util.isDeepStrictEqual 进行深度严格相等比较。
- 【易错点 1】util.inherits 已不推荐,应使用 ES6 class 继承。
- 【易错点 2】util.promisify 仅对遵循 Node 风格回调(error-first)的函数有效。
- 【易错点 3】util.types 检查是运行时类型,不适用于跨 Realm 对象,尤其对 Symbol 等特殊类型需注意。