【Harmony OS】作业二 TypeScript

发布于:2025-04-09 ⋅ 阅读:(28) ⋅ 点赞:(0)

一. 单选题(共25题,25分)

1. (单选题, 1分)以下关于 TypeScript 中泛型的说法,错误的是?

  • A. 泛型只能用于函数
  • B. 泛型可以用于类和接口
  • C. 泛型用 <> 符号表示
  • D. 泛型可以提高代码的复用性

我的答案:A:泛型只能用于函数;

1

2. (单选题, 1分)在 TypeScript 中,以下哪个修饰符用于表示类的私有成员?

  • A. public
  • B. readonly
  • C. private
  • D. protected

我的答案:C:private;

1

3. (单选题, 1分)以下关于 TypeScript 中抽象类的说法,错误的是?

  • A. 抽象类可以包含抽象方法
  • B. 抽象类的抽象方法必须在子类中实现
  • C. 抽象类可以没有抽象方法
  • D. 抽象类不能被实例化

我的答案:C:抽象类可以没有抽象方法;

1

4. (单选题, 1分)在 TypeScript 中,以下哪种方式可以定义一个只读属性?

  • A. protected property: number;
  • B. const property: number;
  • C. private property: number;
  • D. readonly property: number;

我的答案:D:readonly property: number;;

1

5. (单选题, 1分)以下哪种方式可以导入一个模块?

  • A. require('./module');
  • B. import { moduleName } from './module';
  • C. include('./module');
  • D. load('./module');

我的答案:B:import { moduleName } from './module';;

1

6. (单选题, 1分)以下关于 TypeScript 中模块的说法,错误的是?

  • A. 模块只能使用默认导出
  • B. 模块可以将代码组织成不同的单元
  • C. 模块可以提高代码的可维护性
  • D. 模块之间可以相互导入和导出

我的答案:A:模块只能使用默认导出;

1

7. (单选题, 1分)在 TypeScript 中,以下哪个关键字用于声明类?

  • A. type
  • B. class
  • C. interface
  • D. function

我的答案:B:class;

1

8. (单选题, 1分)以下关于 TypeScript 中接口的说法,错误的是?

  • A. 接口可以用来定义函数的参数和返回值类型
  • B. 接口可以被实例化
  • C. 接口可以定义对象的形状
  • D. 接口可以继承其他接口

我的答案:B:接口可以被实例化;

1

9. (单选题, 1分)以下代码中,result 的类型是什么? let result: string | number;

  • A. String
  • B. string | number
  • C. any
  • D. number

我的答案:B:string | number;

1

10. (单选题, 1分)在 TypeScript 中,以下哪种方式可以定义一个字符串数组?

  • A. 以上两种方式都可以
  • B. let arr: string[];
  • C. let arr: Array ;
  • D. let arr: string{};

我的答案:A:以上两种方式都可以;

1

11. (单选题, 1分)以下关于 TypeScript 中枚举的说法,正确的是?

  • A. 枚举只能用于数字
  • B. 枚举的值不能自定义
  • C. 枚举在编译后会被移除
  • D. 枚举用 enum 关键字定义

我的答案:D:枚举用 enum 关键字定义;

1

12. (单选题, 1分)在 TypeScript 中,以下哪个关键字用于继承类?

  • A. override
  • B. interface
  • C. implements
  • D. extends

我的答案:D:extends;

1

13. (单选题, 1分)在 TypeScript 中,以下哪个符号用于表示可选参数?

  • A. ?
  • B. :
  • C. !
  • D. =

我的答案:A:?;

1

14. (单选题, 1分)以下哪种数据类型在 TypeScript 中不存在?

  • A. integer
  • B. boolean
  • C. string
  • D. number

我的答案:A:integer;

1

15. (单选题, 1分)以下代码的输出是什么? class Person { private name: string; constructor(name: string) { this.name = name; } getName(): string { return this.name; } } let person = new Person("Alice"); console.log(person.name);

  • A. "null"
  • B. Alice
  • C. undefined
  • D. 报错

我的答案:D:报错;

1

16. (单选题, 1分)以下关于 TypeScript 中类的静态成员的说法,错误的是?

  • A. 静态成员可以通过类名直接访问
  • B. 静态成员可以在类的静态方法中访问
  • C. 静态成员可以在类的构造函数中访问
  • D. 静态成员不能通过实例访问

我的答案:C:静态成员可以在类的构造函数中访问;

1

17. (单选题, 1分)TypeScript 中的联合类型(Union Types)允许一个值可以是几种类型中的一个,以下哪个是联合类型的正确声明?

  • A. type StringOrNumber = string & number;
  • B. type StringOrNumber = string | number;
  • C. type StringOrNumber = string(number);
  • D. type StringOrNumber = string + number;

我的答案:B:type StringOrNumber = string | number;;

1

18. (单选题, 1分)以下代码的输出是什么? let numbers: number[] = [1, 2, 3, 4]; numbers.push("5"); console.log(numbers);

  • A. [1,2,3,4]
  • B. [1,2,3,4,5]
  • C. 报错
  • D. [1,2,3,4,"5"]

我的答案:C:报错;

1

19. (单选题, 1分)以下代码的输出是什么? function greet(name: string = "World"): string { return `Hello, ${name}!`; } console.log(greet());

  • A. Hello, World!
  • B. Hello, undefined!
  • C. 报错
  • D. Hello, null!

我的答案:A:Hello, World!;

1

20. (单选题, 1分)在 TypeScript 中,定义一个常量应该使用以下哪个关键字?

  • A. readonly
  • B. let
  • C. const
  • D. var

我的答案:C:const;

1

21. (单选题, 1分)在 TypeScript 中,以下哪种方式可以定义一个元组?

  • A. let tuple: (number, string);
  • B. let tuple: number
  • C. let tuple: { number, string };
  • D. let tuple: [number, string];

我的答案:D:let tuple: [number, string];;

1

22. (单选题, 1分)以下关于 TypeScript 中箭头函数的说法,错误的是?

  • A. 箭头函数可以简化函数的定义
  • B. 箭头函数必须有参数
  • C. 箭头函数不能作为构造函数使用
  • D. 箭头函数的 this 指向定义时的上下文

我的答案:B:箭头函数必须有参数;

1

23. (单选题, 1分)以下关于 TypeScript 中装饰器的说法,正确的是?

  • A. 装饰器可以改变被装饰对象的行为
  • B. 装饰器是一种函数
  • C. 以上都对
  • D. 装饰器可以用于类、方法、属性等

我的答案:C:以上都对;

1

24. (单选题, 1分)在 TypeScript 中,以下关于函数重载的说法,正确的是?

  • A. 函数重载是指定义多个同名但参数不同的函数
  • B. 函数重载是指定义多个同名但函数体不同的函数
  • C. 函数重载是指定义多个同名但返回值不同的函数
  • D. 函数重载是指定义多个同名但访问修饰符不同的函数

我的答案:A:函数重载是指定义多个同名但参数不同的函数;

1

25. (单选题, 1分)以下哪种方式可以定义一个函数类型的变量?

  • A. let func: () => void;
  • B. let func: () -> void;
  • C. let func: function();
  • D. let func: void();

我的答案:A:let func: () => void;;


网站公告

今日签到

点亮在社区的每一天
去签到