Desconstrução de matrizes e desconstrução de objetos
Um, a desconstrução da matriz
Array:
const arr = [100, 200, 300]
1.1 Desconstrução para obter todos os valores
O valor normal da matriz é obtido pelo índice:
const iNum1 = arr[0]
const iNum2 = arr[1]
const iNum3 = arr[2]
console.log(iNum1, iNum2, iNum3)
// 100 200 300
Por meio da desestruturação da matriz:
const [iNum1, iNum2, iNum3] = arr;
console.log(iNum1, iNum2, iNum3)
// 100 200 300
1.2 Destruir a matriz para obter valores parciais
Obtenha o primeiro valor:
const [iNum1] = arr
console.log(iNum1)
// 100
Obtenha o valor mediano:
const [, iNum2] = arr
console.log(iNum2)
// 200
const [, ,iNum3] = arr
console.log(iNum3)
// 300
Obtenha dados traseiros:
const [iNum1, ...rest] = arr
console.log(rest)
// [200 300]
1.3 Os parâmetros de desestruturação são maiores do que o comprimento da matriz
const [iNum1, iNum2, iNum3, iNum4] = arr
console.log(iNum1, iNum2, iNum3, iNum4)
// 100 200 300 undefined
Defina o valor padrão:
const [iNum1, iNum2, iNum3, iNum4=123] = arr
console.log(iNum1, iNum2, iNum3, iNum4)
// 100 200 300 123
1.4 Exemplo
Obtenha o caminho raiz:
const path = '/root/demo'
método um:
const arr = path.split('/')
console.log(arr[1]);
// root
Caminho dois:
const [,rootdir] = path.split('/')
console.log(rootdir)
// root
2. Desconstrução de objeto
Objeto:
const obj = {
name: "radish", age: 18, height: 180 }
Forma convencional:
const name = obj.name
const age = obj.age
const height = obj.height
console.log(name, age, height)
// radish 18 180
2.1 Desconstrução para obter todos os valores
const {
name, age, height} = obj
console.log(name, age, height)
// radish 18 180
Comparado com a desestruturação do array, ele será []
substituído por{}
2.2 Desconstrução para obter um valor específico
const {
age} = obj
console.log(age)
// 18
const {
name} = obj
console.log(name)
// radish
2.3 Desconstrução para obter dados traseiros
const {
name, ...rest} = obj
console.log(name)
console.log(rest)
// radish
// { age: 18, height: 180 }
2.4 Definir valores padrão
const {
gender='man'} = obj
console.log(gender)
// man