13af6ab5fSopenharmony_ci# Object literals cannot be used as type declarations 23af6ab5fSopenharmony_ci 33af6ab5fSopenharmony_ciRule ``arkts-no-obj-literals-as-types`` 43af6ab5fSopenharmony_ci 53af6ab5fSopenharmony_ci**Severity: error** 63af6ab5fSopenharmony_ci 73af6ab5fSopenharmony_ciArkTS does not support the usage of object literals to declare 83af6ab5fSopenharmony_citypes in place. Declare classes and interfaces explicitly instead. 93af6ab5fSopenharmony_ci 103af6ab5fSopenharmony_ci 113af6ab5fSopenharmony_ci## TypeScript 123af6ab5fSopenharmony_ci 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_ci``` 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_ci let o: {x: number, y: number} = { 173af6ab5fSopenharmony_ci x: 2, 183af6ab5fSopenharmony_ci y: 3 193af6ab5fSopenharmony_ci } 203af6ab5fSopenharmony_ci 213af6ab5fSopenharmony_ci type S = Set<{x: number, y: number}> 223af6ab5fSopenharmony_ci 233af6ab5fSopenharmony_ci``` 243af6ab5fSopenharmony_ci 253af6ab5fSopenharmony_ci## ArkTS 263af6ab5fSopenharmony_ci 273af6ab5fSopenharmony_ci 283af6ab5fSopenharmony_ci``` 293af6ab5fSopenharmony_ci 303af6ab5fSopenharmony_ci class O { 313af6ab5fSopenharmony_ci x: number = 0 323af6ab5fSopenharmony_ci y: number = 0 333af6ab5fSopenharmony_ci } 343af6ab5fSopenharmony_ci 353af6ab5fSopenharmony_ci let o: O = {x: 2, y: 3} 363af6ab5fSopenharmony_ci 373af6ab5fSopenharmony_ci type S = Set<O> 383af6ab5fSopenharmony_ci 393af6ab5fSopenharmony_ci``` 403af6ab5fSopenharmony_ci 413af6ab5fSopenharmony_ci## See also 423af6ab5fSopenharmony_ci 433af6ab5fSopenharmony_ci- Recipe 038: Object literal must correspond to some explicitly declared class or interface (``arkts-no-untyped-obj-literals``) 443af6ab5fSopenharmony_ci- Recipe 043: Array literals must contain elements of only inferrable types (``arkts-no-noninferrable-arr-literals``) 453af6ab5fSopenharmony_ci 463af6ab5fSopenharmony_ci 47