我们在面试的时候,经常会遇到TypeScript 的一些面试题,因此,今天这篇文章,我整理汇总了40道关于TypeScript 的基础知识的面试题。有提供详细的参考答案、代码示例以及相关的延伸阅读内容。
1.什么是 TypeScript,它与 JavaScript 有何不同?提供 TypeScript 代码示例。
答案:TypeScript 是 JavaScript 的超集,为该语言添加了静态类型。它允许开发人员定义变量、函数参数和返回值的数据类型,这有助于在编译时而不是运行时捕获错误。这是一个例子:
function greet(name: string): string {
return `Hello, ${name}!`;
}
const message: string = greet('John');
console.log(message); // Output: "Hello, John!"
延伸阅读:TypeScript 官方网站(https://www.typescriptlang.org/)
2.解释 TypeScript 中静态类型的概念及其好处。
答案:TypeScript 中的静态类型可以在开发过程中指定变量、函数参数和返回值的数据类型。这有助于及早捕获与类型相关的错误,从而提高代码质量和可维护性。
好处是拥有更好的代码文档、增强的工具支持以及提高的开发人员生产力。
延伸阅读:TypeScript 官方手册——基本类型(https://www.typescriptlang.org/docs/handbook/basic-types.html)
3.TypeScript 中的接口是什么?举个例子。
答案:TypeScript 中的接口定义了对象结构的契约,指定其属性和方法的名称和类型。它们促进强大的类型检查并实现更好的代码组织。这是一个例子:
interface Person {
name: string;
age: number;
}
function greet(person: Person): string {
return `Hello, ${person.name}! You are ${person.age} years old.`;
}
const john: Person = { name: 'John', age: 30 };
const message: string = greet(john);
console.log(message); // Output: "Hello, John! You are 30 years old."
延伸阅读:TypeScript 官方手册——接口(https://www.typescriptlang.org/docs/handbook/interfaces.html)
4.使用 TypeScript 相对于纯 JavaScript 有什么好处?
答:TypeScript 提供了多种好处,包括静态类型、更好的代码分析和工具支持、改进的代码可读性、早期错误检测、更轻松的代码重构以及增强的代码文档。它还使开发人员能够编写更易于维护和扩展的应用程序。
延伸阅读:TypeScript 官方网站 — 为什么选择 TypeScript?(https://www.typescriptlang.org/docs/handbook/why-typescript.html)
5.如何在 TypeScript 的接口中定义可选属性?举个例子。
答案:您可以使用 ? 在接口中定义可选属性。属性名称后面的修饰符。可选属性可能存在于实现该接口的对象中,也可能不存在。这是一个例子:
interface Person {
name: string;
age?: number;
}
const john: Person = { name: 'John' };
const jane: Person = { name: 'Jane', age: 25 };
延伸阅读:TypeScript 官方手册——接口(https://www.typescriptlang.org/docs/handbook/interfaces.html)
6.解释 TypeScript 中联合类型的概念并提供示例。
答:联合类型允许一个变量有多种类型。它通过使用 | 来表示类型之间的符号。