• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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