HarmonyOS鸿蒙Next开发有没有泛型这个概念

HarmonyOS鸿蒙Next开发有没有泛型这个概念 HarmonyOS开发有没有泛型这个概念?

8 回复

有的,必然有。

但是 组件的泛型没有,对比类似vue3中的这个

cke_2138.png

更多关于HarmonyOS鸿蒙Next开发有没有泛型这个概念的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个必须有

ArkTS是HarmonyOS应用的默认开发语言,是在TypeScript(简称TS)生态基础上做了扩展,保持TS的基本风格,而TS是支持泛型的。

function identity<Type>(arg: Type): Type {
    return arg;
}

可以通过两种方式之一调用它。第一种方法是将所有参数(包括类型参数)传递给函数:let output = identity<string>("myString");

let output: string

第二种方式使用类型参数推断,编译器根据我们传入的参数类型自动为我们设置 Type 的值:let output = identity("myString");

let output: string

Try

有的

interface info<T>{
  name:T
}

function func<T>(param:T){
  console.log(JSON.stringify(param));
}

那必然有呀

HarmonyOS Next的ArkTS语言基于TypeScript,支持泛型编程。泛型允许在定义接口、函数或类时使用类型变量,增强代码复用性和类型安全。开发者可通过<T>语法声明泛型参数,在编译时进行类型检查。ArkTS的泛型机制与TypeScript规范一致,包括泛型约束、默认类型等特性,适用于组件封装和工具类开发场景。

是的,HarmonyOS Next 开发支持泛型(Generics)概念。作为基于声明式开发范式的系统,HarmonyOS 使用 ArkTS 语言(TypeScript 的超集),而 TypeScript 本身具备完整的泛型特性。

在 HarmonyOS 应用开发中,泛型可用于:

  1. 组件封装:提高 UI 组件的复用性和类型安全
  2. 状态管理:在 @State@Prop 等装饰器中约束数据类型
  3. 工具函数:编写类型安全的通用工具方法
  4. 接口抽象:定义可复用的类型接口

例如:

// 泛型组件示例
@Component
struct GenericComponent<T> {
  [@State](/user/State) data: T

  build() {
    // 组件内容
  }
}

泛型的使用方式与 TypeScript 标准一致,包括泛型约束、默认类型等特性都得到完整支持。这有助于开发者构建更健壮、可维护的 HarmonyOS 应用。

回到顶部