22、鸿蒙学习——ArkTS中什么是对象字面量

        在ArkTS中,对象字面量(Object Literal)是一种通过简洁的语法直接创建类实例并初始化属性的方式,无需使用new 关键字。

1、基本概念与语法

对象字面量通过花括号{}包裹属性名和值的键值对来创建对象,适用于需要快速初始化类实例的场景。例如:

class Person {
  name: string = '';
  age: number = 0;
}

// 使用对象字面量创建实例
let person: Person = { name: "张三", age: 25 };
console.log(person.name); // 输出:张三

特点:无需显示调用构造函数,代码更简洁。

2、与Record类型的结合

对象字面量可与Record泛型类型结合,定义键值对结构:

let data: Record = { key1: "value1", key2: "value2" };

用途:适用于动态属性名的场景,如配置对象或映射表。

3、在数组中的应用

对象字面量可直接用于数组初始化,存储多个同类对象:

class Dog {
  name: string = '';
  age: number = 0;
}

let dogs: Dog[] = [
  { name: "旺财", age: 2 },
  { name: "大黄", age: 5 }
];

优势:简化集合数据的创建。

4、与接口的配合

对象字面量可直接实现接口定义的抽象结构,无需显示类声明:

interface IPerson {
  firstName: string;
  lastName: string;
  sayHi: () => string;
}

let customer: IPerson = {
  firstName: "Tom",
  lastName: "Hanks",
  sayHi: () => `Hi, I'm ${this.firstName}`
};

灵活性:适用于临时对象或轻量级数据封装


5、注意事项

  • 类型匹配:属性必须与类或接口定义的成员类型一致,否则会编译报错。
  • 初始化要求:若类中未提供默认值,对象字面量必须显示赋值所有非可选属性。

你可能感兴趣的:(鸿蒙,学习,harmonyos,typescript)