13af6ab5fSopenharmony_ci#  Destructuring assignment is not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-destruct-assignment``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support destructuring assignment. Use other idioms (e.g.,
83af6ab5fSopenharmony_cia temporary variable, where applicable) for replacement.
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci## TypeScript
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci```
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci    let [one, two] = [1, 2]; // semicolon is required here
173af6ab5fSopenharmony_ci    [one, two] = [two, one]
183af6ab5fSopenharmony_ci
193af6ab5fSopenharmony_ci    let head, tail
203af6ab5fSopenharmony_ci    [head, ...tail] = [1, 2, 3, 4]
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci```
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci## ArkTS
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ci
273af6ab5fSopenharmony_ci```
283af6ab5fSopenharmony_ci
293af6ab5fSopenharmony_ci    let arr: number[] = [1, 2]
303af6ab5fSopenharmony_ci    let one = arr[0]
313af6ab5fSopenharmony_ci    let two = arr[1]
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_ci    let tmp = one
343af6ab5fSopenharmony_ci    one = two
353af6ab5fSopenharmony_ci    two = tmp
363af6ab5fSopenharmony_ci
373af6ab5fSopenharmony_ci    let data: Number[] = [1, 2, 3, 4]
383af6ab5fSopenharmony_ci    let head = data[0]
393af6ab5fSopenharmony_ci    let tail: Number[] = []
403af6ab5fSopenharmony_ci    for (let i = 1; i < data.length; ++i) {
413af6ab5fSopenharmony_ci        tail.push(data[i])
423af6ab5fSopenharmony_ci    }
433af6ab5fSopenharmony_ci
443af6ab5fSopenharmony_ci```
453af6ab5fSopenharmony_ci
463af6ab5fSopenharmony_ci
47