13af6ab5fSopenharmony_ci#  Use ``let`` instead of ``var``
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-var``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support ``var``. Use ``let`` instead.
83af6ab5fSopenharmony_ci
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci## TypeScript
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci```
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci    function f(shouldInitialize: boolean) {
163af6ab5fSopenharmony_ci        if (shouldInitialize) {
173af6ab5fSopenharmony_ci           var x = 10
183af6ab5fSopenharmony_ci        }
193af6ab5fSopenharmony_ci        return x
203af6ab5fSopenharmony_ci    }
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci    console.log(f(true))  // 10
233af6ab5fSopenharmony_ci    console.log(f(false)) // undefined
243af6ab5fSopenharmony_ci
253af6ab5fSopenharmony_ci    let upper_let = 0
263af6ab5fSopenharmony_ci    {
273af6ab5fSopenharmony_ci        var scoped_var = 0
283af6ab5fSopenharmony_ci        let scoped_let = 0
293af6ab5fSopenharmony_ci        upper_let = 5
303af6ab5fSopenharmony_ci    }
313af6ab5fSopenharmony_ci    scoped_var = 5 // Visible
323af6ab5fSopenharmony_ci    scoped_let = 5 // Compile-time error
333af6ab5fSopenharmony_ci
343af6ab5fSopenharmony_ci```
353af6ab5fSopenharmony_ci
363af6ab5fSopenharmony_ci## ArkTS
373af6ab5fSopenharmony_ci
383af6ab5fSopenharmony_ci
393af6ab5fSopenharmony_ci```
403af6ab5fSopenharmony_ci
413af6ab5fSopenharmony_ci    function f(shouldInitialize: boolean): Object {
423af6ab5fSopenharmony_ci        let x: Object = new Object()
433af6ab5fSopenharmony_ci        if (shouldInitialize) {
443af6ab5fSopenharmony_ci            x = 10
453af6ab5fSopenharmony_ci        }
463af6ab5fSopenharmony_ci        return x
473af6ab5fSopenharmony_ci    }
483af6ab5fSopenharmony_ci
493af6ab5fSopenharmony_ci    console.log(f(true))  // 10
503af6ab5fSopenharmony_ci    console.log(f(false)) // {}
513af6ab5fSopenharmony_ci
523af6ab5fSopenharmony_ci    let upper_let = 0
533af6ab5fSopenharmony_ci    let scoped_var = 0
543af6ab5fSopenharmony_ci    {
553af6ab5fSopenharmony_ci        let scoped_let = 0
563af6ab5fSopenharmony_ci        upper_let = 5
573af6ab5fSopenharmony_ci    }
583af6ab5fSopenharmony_ci    scoped_var = 5
593af6ab5fSopenharmony_ci    scoped_let = 5 // Compile-time error
603af6ab5fSopenharmony_ci
613af6ab5fSopenharmony_ci```
623af6ab5fSopenharmony_ci
633af6ab5fSopenharmony_ci
64