TypeScript常见面试题第二节

题目六:介绍 void 及使用方式 ?

一、讲解视频

  1. 优快云视频:

    TS面试题五:介绍 void 及使用方式 ?

  2. B站视频:

### TypeScript 见面试题及答案解析 #### 类型推论 TypeScript 提供了一种机制,用于在未明确指定类型的情况下自动推导变量的类型。这种特性被称为 **类型推论**[^2]。 - 当需要从多个表达式中推断类型时,TypeScript 使用一种称为“最佳通用类型”的算法来决定最适合的类型。该算法会综合考虑所有候选类型并找到一个能够兼容它们的类型。 - 此外,TypeScript 支持基于上下文环境的类型推论,也叫作“按上下文归类”。在这种模式下,表达式的类型取决于其所在位置的需求。例如,在函数参数、赋值操作符右侧以及返回值语句中都会触发此类行为。 ```typescript let inferredNumber = 42; // 推断为 number 类型 function identity(x) { return x; } identity(10); // 参数 x 被推断为 number 类型 ``` --- #### 可选参数 在 TypeScript 中可以通过在参数名称后添加 `?` 来标记某个参数为可选项。这意味着调用者可以选择忽略这个参数而不引发错误[^3]。需要注意的是: - 可选参数必须位于必选参数之后; - 如果启用了编译器选项 `--strictNullChecks`,那么任何被标注为可选的参数都将隐含地具有联合类型 `T | undefined`。 ```typescript function greet(name?: string): void { console.log(`Hello, ${name || 'Guest'}`); } greet(); // 输出 Hello, Guest greet('Alice'); // 输出 Hello, Alice ``` --- #### 工程化实践 关于如何将 TypeScript 应用于实际工程项目之中,以下是几个重要方面[^1]: - **与 JavaScript 的混合使用**: 即使在一个项目中有部分代码仍保留原生 JS 形态,TS 同样可以很好地与其共存并通过渐进迁移策略逐步替换掉旧有逻辑。 - **第三方库支持**: 对于那些尚未提供官方 TS 定义文件的外部依赖项来说,社区维护了一个名为 DefinitelyTyped 的仓库用来存储各种流行包对应的 .d.ts 文件集合。 - **全局/模块级类型声明管理**: 开发团队可以根据需求创建自己的 d.ts 文件以扩展内置接口或者封装特定业务场景下的复杂数据结构描述规则。 --- #### 调试功能 针对开发者关心能否直接调试 TS 源码这一疑问,现代 IDE 和浏览器工具链已经提供了充分的支持手段使得整个过程变得简单高效。借助 sourcemap 技术可以在运行期间映射回原始源码从而实现无缝体验。 ```javascript // 示例:通过 Chrome DevTools 或 VSCode 打开 tsconfig.json 并启用 sourceMap 设置即可开始调试流程 { "compilerOptions": { "sourceMap": true, ... } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

军军君01

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值