1# Use ``let`` instead of ``var`` 2 3Rule ``arkts-no-var`` 4 5**Severity: error** 6 7ArkTS does not support ``var``. Use ``let`` instead. 8 9 10## TypeScript 11 12 13``` 14 15 function f(shouldInitialize: boolean) { 16 if (shouldInitialize) { 17 var x = 10 18 } 19 return x 20 } 21 22 console.log(f(true)) // 10 23 console.log(f(false)) // undefined 24 25 let upper_let = 0 26 { 27 var scoped_var = 0 28 let scoped_let = 0 29 upper_let = 5 30 } 31 scoped_var = 5 // Visible 32 scoped_let = 5 // Compile-time error 33 34``` 35 36## ArkTS 37 38 39``` 40 41 function f(shouldInitialize: boolean): Object { 42 let x: Object = new Object() 43 if (shouldInitialize) { 44 x = 10 45 } 46 return x 47 } 48 49 console.log(f(true)) // 10 50 console.log(f(false)) // {} 51 52 let upper_let = 0 53 let scoped_var = 0 54 { 55 let scoped_let = 0 56 upper_let = 5 57 } 58 scoped_var = 5 59 scoped_let = 5 // Compile-time error 60 61``` 62 63 64