13af6ab5fSopenharmony_ci# Definite assignment assertions are not supported 23af6ab5fSopenharmony_ci 33af6ab5fSopenharmony_ciRule ``arkts-no-definite-assignment`` 43af6ab5fSopenharmony_ci 53af6ab5fSopenharmony_ci**Severity: warning** 63af6ab5fSopenharmony_ci 73af6ab5fSopenharmony_ciArkTS does not support definite assignment assertions ``let v!: T`` because 83af6ab5fSopenharmony_cithey are considered an excessive compiler hint. 93af6ab5fSopenharmony_ciUse declaration with initialization instead. 103af6ab5fSopenharmony_ci 113af6ab5fSopenharmony_ci 123af6ab5fSopenharmony_ci## TypeScript 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_ci 153af6ab5fSopenharmony_ci``` 163af6ab5fSopenharmony_ci 173af6ab5fSopenharmony_ci let x!: number // Hint: x will be initialized before usage 183af6ab5fSopenharmony_ci 193af6ab5fSopenharmony_ci initialize() 203af6ab5fSopenharmony_ci 213af6ab5fSopenharmony_ci function initialize() { 223af6ab5fSopenharmony_ci x = 10 233af6ab5fSopenharmony_ci } 243af6ab5fSopenharmony_ci 253af6ab5fSopenharmony_ci console.log("x = " + x) 263af6ab5fSopenharmony_ci 273af6ab5fSopenharmony_ci``` 283af6ab5fSopenharmony_ci 293af6ab5fSopenharmony_ci## ArkTS 303af6ab5fSopenharmony_ci 313af6ab5fSopenharmony_ci 323af6ab5fSopenharmony_ci``` 333af6ab5fSopenharmony_ci 343af6ab5fSopenharmony_ci function initialize() : number { 353af6ab5fSopenharmony_ci return 10 363af6ab5fSopenharmony_ci } 373af6ab5fSopenharmony_ci 383af6ab5fSopenharmony_ci let x: number = initialize() 393af6ab5fSopenharmony_ci 403af6ab5fSopenharmony_ci console.log("x = " + x) 413af6ab5fSopenharmony_ci 423af6ab5fSopenharmony_ci``` 433af6ab5fSopenharmony_ci 443af6ab5fSopenharmony_ci 45