13af6ab5fSopenharmony_ci#  Nested functions are not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-nested-funcs``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support nested functions. Use lambdas instead.
83af6ab5fSopenharmony_ci
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci## TypeScript
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci```
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci    function addNum(a: number, b: number): void {
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_ci        // nested function:
183af6ab5fSopenharmony_ci        function logToConsole(message: String): void {
193af6ab5fSopenharmony_ci            console.log(message)
203af6ab5fSopenharmony_ci        }
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci        let result = a + b
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci        // Invoking the nested function:
253af6ab5fSopenharmony_ci        logToConsole("result is " + result)
263af6ab5fSopenharmony_ci    }
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_ci```
293af6ab5fSopenharmony_ci
303af6ab5fSopenharmony_ci## ArkTS
313af6ab5fSopenharmony_ci
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_ci```
343af6ab5fSopenharmony_ci
353af6ab5fSopenharmony_ci    function addNum(a: number, b: number): void {
363af6ab5fSopenharmony_ci        // Use lambda instead of a nested function:
373af6ab5fSopenharmony_ci        let logToConsole: (message: string) => void = (message: string): void => {
383af6ab5fSopenharmony_ci            console.log(message)
393af6ab5fSopenharmony_ci        }
403af6ab5fSopenharmony_ci
413af6ab5fSopenharmony_ci        let result = a + b
423af6ab5fSopenharmony_ci
433af6ab5fSopenharmony_ci        logToConsole("result is " + result)
443af6ab5fSopenharmony_ci    }
453af6ab5fSopenharmony_ci
463af6ab5fSopenharmony_ci```
473af6ab5fSopenharmony_ci
483af6ab5fSopenharmony_ci
49