AArtem UdovichenkoAdd ets2panda
0ee26c4f创建于 2023年10月10日历史提交

Object literals cannot be used as type declarations

Rule arkts-no-obj-literals-as-types

Severity: error

ArkTS does not support the usage of object literals to declare types in place. Declare classes and interfaces explicitly instead.

TypeScript


    let o: {x: number, y: number} = {
        x: 2,
        y: 3
    }

    type S = Set<{x: number, y: number}>

ArkTS


    class O {
        x: number = 0
        y: number = 0
    }

    let o: O = {x: 2, y: 3}

    type S = Set<O>

See also

  • Recipe 038: Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)
  • Recipe 043: Array literals must contain elements of only inferrable types (arkts-no-noninferrable-arr-literals)