13af6ab5fSopenharmony_ci# ``as const`` assertions are not supported 23af6ab5fSopenharmony_ci 33af6ab5fSopenharmony_ciRule ``arkts-no-as-const`` 43af6ab5fSopenharmony_ci 53af6ab5fSopenharmony_ci**Severity: error** 63af6ab5fSopenharmony_ci 73af6ab5fSopenharmony_ciArkTS does not support ``as const`` assertions because in the standard TypeScript 83af6ab5fSopenharmony_ci``as const`` annotates literals with corresponding literal types, and ArkTS 93af6ab5fSopenharmony_cidoes not support literal types. 103af6ab5fSopenharmony_ci 113af6ab5fSopenharmony_ci 123af6ab5fSopenharmony_ci## TypeScript 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_ci 153af6ab5fSopenharmony_ci``` 163af6ab5fSopenharmony_ci 173af6ab5fSopenharmony_ci // Type 'hello': 183af6ab5fSopenharmony_ci let x = "hello" as const 193af6ab5fSopenharmony_ci 203af6ab5fSopenharmony_ci // Type 'readonly [10, 20]': 213af6ab5fSopenharmony_ci let y = [10, 20] as const 223af6ab5fSopenharmony_ci 233af6ab5fSopenharmony_ci // Type '{ readonly text: "hello" }': 243af6ab5fSopenharmony_ci let z = { text: "hello" } as const 253af6ab5fSopenharmony_ci 263af6ab5fSopenharmony_ci``` 273af6ab5fSopenharmony_ci 283af6ab5fSopenharmony_ci## ArkTS 293af6ab5fSopenharmony_ci 303af6ab5fSopenharmony_ci 313af6ab5fSopenharmony_ci``` 323af6ab5fSopenharmony_ci 333af6ab5fSopenharmony_ci // Type 'string': 343af6ab5fSopenharmony_ci let x : string = "hello" 353af6ab5fSopenharmony_ci 363af6ab5fSopenharmony_ci // Type 'number[]': 373af6ab5fSopenharmony_ci let y : number[] = [10, 20] 383af6ab5fSopenharmony_ci 393af6ab5fSopenharmony_ci class Label { 403af6ab5fSopenharmony_ci text : string = "" 413af6ab5fSopenharmony_ci } 423af6ab5fSopenharmony_ci 433af6ab5fSopenharmony_ci // Type 'Label': 443af6ab5fSopenharmony_ci let z : Label = { 453af6ab5fSopenharmony_ci text: "hello" 463af6ab5fSopenharmony_ci } 473af6ab5fSopenharmony_ci 483af6ab5fSopenharmony_ci``` 493af6ab5fSopenharmony_ci 503af6ab5fSopenharmony_ci 51