HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(六)

一、仅支持一个静态块
规则:arkts-no-multiple-static-blocks
级别:错误
ArkTS不允许类中有多个静态块,如果存在多个静态块语句,请合并到一个静态块中。
TypeScript

class C {
  static s: string

  static {
    C.s = 'aa'
  }
  static {
    C.s = C.s + 'bb'
  }
}

ArkTS

class C {
  static s: string

  static {
    C.s = 'aa'
    C.s = C.s + 'bb'
  }
}

说明
当前不支持静态块的语法。支持该语法后,在.ets文件中使用静态块须遵循本约束。
二、不支持index signature
规则:arkts-no-indexed-signatures
级别:错误
ArkTS不允许index signature,改用数组。
TypeScript

// 带index signature的接口:
interface StringArray {
  [index: number]: string
}

function getStringArray(): StringArray {
  return ['a', 'b', 'c'];
}

const myArray: StringArray = getStringArray();
const secondItem = myArray[1];

ArkTS

class X {
  public f: string[] = []
}

let myArray: X = new X();
const secondItem = myArray.f[1];

三、使用继承而非intersection type
规则:arkts-no-intersection-types
级别:错误
目前ArkTS不支持intersection type,可以使用继承作为替代方案。
TypeScript

interface Identity {
  id: number
  name: string
}

interface Contact {
  email: string
  phoneNumber: string
}

type Employee = Identity & Contact

ArkTS

interface Identity {
  id: number
  name: string
}

interface Contact {
  email: string
  phoneNumber: string
}

interface Employee extends Identity,  Contact {}

本文根据HarmonyOS NEXT Developer Beta1官方公开的开发文档整理而成。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 17:12:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 17:12:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 17:12:03       58 阅读
  4. Python语言-面向对象

    2024-07-18 17:12:03       69 阅读

热门阅读

  1. vim+cscope+ctags

    2024-07-18 17:12:03       23 阅读
  2. gitlab reset passwd

    2024-07-18 17:12:03       20 阅读
  3. 02-Redis未授权访问漏洞

    2024-07-18 17:12:03       21 阅读
  4. 开发一个商城app需要多少钱

    2024-07-18 17:12:03       21 阅读
  5. 【STM32】超声波一般常用哪两个引脚?

    2024-07-18 17:12:03       18 阅读
  6. Linux 之 ln 硬链接和软链接

    2024-07-18 17:12:03       20 阅读
  7. spfa判断负环

    2024-07-18 17:12:03       24 阅读
  8. 如何建设和维护数据仓库:深入指南

    2024-07-18 17:12:03       24 阅读
  9. vue程序中如何设置调用springboot服务的url

    2024-07-18 17:12:03       23 阅读
  10. CCF-CSP认证考试 202406-3 文本分词 100分题解

    2024-07-18 17:12:03       20 阅读