本次一共推出三篇文章,TS基础篇、TS高阶篇、TS习题篇,三篇文章均已发布。
基础题
1. 基本类型
题目
请定义一个变量 count
,类型为 number
答案
let count: number
解释
我们使用 let
关键字定义变量,并指定其类型为 number
2. 接口
题目
定义一个接口 Person
,包含 name
(字符串类型) 和 age
(数字类型)两个属性。然后定义一个变量 person
,并使用该接口。
答案
interface Person {
name: string;
age: number;
}
let person: Person = {
name: "John",
age: 30
};
解释
定义了接口 Person
,包含 name
和 age
两个属性。然后定义了一个变量 person
,并使用 Person
接口来确保其具有 name
和 age
属性。
3. 类
题目
定义一个类 Animal
,具有属性 name
(字符串类型) 和方法 move
(返回 void
)。实例化一个对象 dog
,并调用其 move
方法。
答案
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(): void {
console.log(`${this.name} is moving.`);
}
}
let dog = new Animal("Dog");
dog.move(); // 输出: Dog is moving.
解释
定义了一个类 Animal
,包含一个构造函数来初始化 name
属性,以及一个 move
方法来输出相关信息。实例化了一个对象 dog
并调用了其 move
方法。
4. 函数
题目
定义一个函数 add
,接受两个参数 x
和 y
类型为 number
,并返回它们的和。然后调用此函数并输出结果。
答案
function add(x: number, y: number): number {
return x + y;
}
let result = add(3, 4);
console.log(result); // 输出: 7
解释
定义了一个 add
函数,接受两个参数 x
和 y
,类型为 number
,并返回它们的和。调用了此函数并输出结果。
5. 泛型
题目
定义一个泛型函数 identity
,接受一个参数并返回它。然后使用这个函数处理字符串和数字类型的参数。
答案
function identity<T>(arg: T): T {
return arg;
}
let output1 = identity<string>("hello");
let output2 = identity<number>(42);
console.log(output1); // 输出: hello
console.l